Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- theMinecraft = nullptr;
- while ( !theMinecraft ) { theMinecraft = env->JNU_GetStaticFieldByName("6481", "strictfp", "L6481;").l; }
- while ( 1 ) {
- static auto timer = GetTickCount64( );
- if ( GetTickCount64( ) - timer > 1000 ) {
- theWorld = env->GetObjectField(theMinecraft, env->GetFieldID(env->GetObjectClass(theMinecraft), "D", "L0405;"));
- thePlayer = env->CallObjectMethod(theMinecraft, env->GetMethodID(env->GetObjectClass(theMinecraft), "volatile", "()L8371;"));
- if ( !theWorld || !thePlayer )
- continue;
- auto loadedEntityListMid = env->GetMethodID(env->GetObjectClass(theWorld), "private", "()Ljava/util/Collection;");
- auto loadedEntityList = env->CallObjectMethod(theWorld, loadedEntityListMid);
- if (loadedEntityList) {
- printf("loadedEntityList %p\n", loadedEntityList);
- auto elistArray = (jobjectArray)env->JNU_CallMethodByNameV(loadedEntityList, "toArray", "()[Ljava/lang/Object;").l;
- printf("elistArray %p\n", elistArray);
- auto len = env->GetArrayLength((jarray)elistArray);
- printf("len %d\n", len);
- for (int i = 0; i < len; ++i) {
- auto ent = env->GetObjectArrayElement(elistArray, i);
- printf("ent: %p\n", ent);
- if (ent) {
- auto _class = env->JNU_CallMethodByNameV(ent, "getClass", "()Ljava/lang/Class;", nullptr).l;
- printf("class: %p\n", _class);
- auto jstr = (jstring)env->JNU_CallMethodByNameV(_class, "getName", "()Ljava/lang/String;", nullptr).l;
- auto cname = env->GetStringUTFChars(jstr);
- printf("cname %s\n", cname);
- env->ReleaseStringUTFChars(jstr, cname);
- }
- env->DeleteLocalRef(ent);
- }
- env->DeleteLocalRef(elistArray);
- env->DeleteLocalRef(loadedEntityList);
- }
- env->DeleteLocalRef( theWorld );
- env->DeleteLocalRef( thePlayer );
- timer = GetTickCount64( );
- }
- if ( GetAsyncKeyState( VK_DELETE ) & 1 ) {
- main_vm->DetachCurrentThread( );
- FreeConsole( );
- FreeLibraryAndExitThread( g_module, 0 );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement