xProf
Активный участник
- Баллы
- 63
- Имя в Minecraft
- xProf
Можно)
В Java это делается так:
Код:System.setProperty("minecraft.applet.WrapperClass", "класс_Вашего_враппера");
В лаунчере у меня получилась такая конструкция:
Код:jclass systemClass = env->FindClass("java/lang/System"); jmethodID setPropertyMethod = env->GetStaticMethodID(systemClass, "setProperty","(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"); env->CallStaticObjectMethod(systemClass,setPropertyMethod,env->NewStringUTF("minecraft.applet.WrapperClass"),env->NewStringUTF("net.minecraft.tenaxy"));
кстати создание окна через swing мне не очень понравилось, я через awt реализовал, также как и сам майн работает.
Код:
class_appletStub = env->FindClass("java/lang/System");
mtid_appletStub = env->GetStaticMethodID(class_appletStub, "setProperty","(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");
obj_hashMap = env->NewObject(env->FindClass("java/util/HashMap"), env->GetMethodID(env->FindClass("java/util/HashMap"), "<init>", "()V"));
mtid_put = env->GetMethodID(env->FindClass("java/util/HashMap"), "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("username"), env->NewStringUTF("Player"));
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("stand-alone"), env->NewStringUTF("false"));
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("demo"), env->NewStringUTF("false"));
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("fullscreen"), env->NewStringUTF("false"));
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("sessionid"), env->NewStringUTF("-"));
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("server"), env->NewStringUTF("127.0.0.1"));
env->CallObjectMethod(obj_hashMap, mtid_put, env->NewStringUTF("port"), env->NewStringUTF("25565"));
obj_appletStub = env->NewObject(class_appletStub, mtid_appletStub, obj_hashMap);
obj_minecraftApplet = env->NewObject(env->FindClass("net/minecraft/client/MinecraftApplet"), env->GetMethodID(env->FindClass("net/minecraft/client/MinecraftApplet"), "<init>", "()V"));
Вот что получается у меня. Только возникають проблемы из-за острой нехватки знаний:
obj_appletStub не создается по какому-то поводу. Не затруднит ли просветить, о светлейший, в чем тут ошибка?
Подскажите, что я делаю не так?