Minecraft Launcher Minecraft

Minecraft - Java Edition

T4k3C4r3

Mitglied
Guten Abend.

Bin neu hier und würde gerne wissen, wie man am besten einen Launcher so wie ihn Minecraft verwendet realisieren kann ? Mit JFRAME oder gibts da von Lwjgl irgentwelche Hilfsmittel?

Danke
Mfg
 
Der MC-Launcher ist komplett ohne LWJGL gebaut, also mit JFrame.
Ich glaube aber nicht, dass das schon all deine Fragen beantwortet 😉
 
Und ab welchem Zeitpunkt springt es über zu LWJGL ?

Ich meine nach dem man sich eingeloggt hat oder erst wenn man im Spiel ist.

Ist das Menu auch mit JFrame gemacht ?

Danke schomal
 
nachdem du eingeloggt bist, also ab dem großen MOJANG-Logo

EDIT: Das Menü wäre aber auch ohne LWJGL noch einfach umzusetzen.
 
Könnten Sie mir vielleicht für beide erwähnten Möglichkeiten ein Stichwort geben, um mich ein bisschen darüber zu informieren. Danke

Bzw: Wie kann man in JFrame einen Button komplett mit einem Hintergrundbild versehen und nicht nur das ein Bild in einem Button platziert ist?
 
Zuletzt bearbeitet:
Ok Danke.

Aber wie kann man direkt aus dem JFrame Fenster LWJGL Dann direct weiter ausführen, ohne, dass sich der Launcher schließt und LWJGL öffnet ?

Danke
 
sich als anfänger gleich mit sowas zu befassen halte ich für falsch (und noch dazu im falschen sub-forum) ...
aber wie erwähnt : so einfach ist das ganze halt nicht ... und wenn man nicht weis was für komponenten lwjgl braucht (würde hier nicht unbedingt swing nutzen / weis nicht ob lwjgl damit was anfangen kann > Seing <-> AWT inkompatibilität) sollte man dort erstmal nachforschen ...

dürfte allgemein sehr lustiges thema werden
 
Jetzt wo du's sagst, Minecraft nutzt das normale Frame.

ich weis es wie gesagt nicht ... könnte ich mir aber durchaus vorstellen das hier eher das AWT-Frame genutzt wird damit OpenGL (was ja durch lwjgl > jogl verwendet wird) ne direkte hardware-anbindung hat ... zumindest wenn ich AWT noch so richtig im kopf habe ...
Swing würde hier auch keinen sinn machen ... gut ... es liegt zwar dann doch irgendwo auf nem AWT-Frame als "system-nahe grund-komponente" ... aber der rest wird ja auch nur "draufgemalt" anstatt wie bei AWT "heavy system components" zu nutzen ...
 
Oh ich hab mal das mal in einem buch gelesen aber vielleicht auch nur überlesen oder falsch in erinnerung.

Aber wie soll ich das jetzt lösen?

Mfg
 
grundsätzlich erbt alles (bis auf ganz wenige ausnahmen) in swing ALLES von javax.swing.JComponent ... (ausnahmen wären die Top-Level-Container JWindows / JFrame) ... und JComponent erbt direkt von java.awt.Container was wiederum von java.awt.Component erbt ...

der unterschied ist nur das AWT direkt "heavy" system-komponenten verwendet und diese mit in den anzeigebereich einblendet ...
bei Swing hingegen wird nur der Top-Level-Container über einen system-anker verwirklicht und alles andere wird dann darin mit hilfe der zeichen-methoden "gemalt" ... und dann entsprechend der listener reagiert und neu gezeichnet ...

und es gibt gewisse probleme die auftreten wenn man AWT und Swing gleichzeitig verwendet und ein regelwerk warum man dies eben nicht tun sollte ...

unsere idee war jetzt eher ob JOGL hier ne "heavy system component" ala AWT nutzt oder doch schon auf Swing noch oben drauf sitzt ...
sollte es das erstere sein wäre es ein fehler irgendwas aus Swing (also alles mit "J" am anfang) zu nutzen weil man sonst schnell in probleme rennen kann ...

und genau das verrät dir die doc von lwjgl ...


btw : AWT hat nichts mit irgendwelchen betriebssystemen zu tun sondern ist lediglich das "system-nahe heavy-component system" ... also die grundlage für jede graphische operation ... und alles was darauf aufsetzt
 
Ich bin gerade echt überfordert, auch wenn meine Frage möglicherweise schon beantwortest ist, könnte mir das vllt jemand auf anfängerisch erklären?

Also noch mal zusammen gefasst: Ein GUI (Ich denke Swing) zum Einloggen wird gestartet, nach dem Login, wird DIREKT IM JFrame LWJGL ausgeführt.

Das ganze sollte wie bei dem Spiel Minecraft sein, sprich ohne das sich dannach das JFrame schließt und LWJGL öffnet

PS: Dies möge ein schwere Fall sein 😛
 
Also ich würd mal behaupten, das ich die Grundlagen der allgemeinen Programmierung draufhabe.
Habe bisher schon Fortgeschrittene Kentnisse mit der Webprogrammierung und lerne seit ca einem Jahr den Nachfolger von Java -> C# in der Schule.

Das einzige womit ich noch nicht ganz so gut aber dennoch auch zurecht komm ist das OOP.

Die Grundlagen von Java habe ich mir eigentlich schon teilweise durch ein Buch angeeignet.
(Auch wenn dies bis jetzt noch nicht wirklich zum Voschein kam)

Ich habe aber schon das Stichwort Display.setParent() mitbekommen, kann aber leider nocht nicht was damit anfangen.

Ich wäre euch wirklich dankbar, wenn mir hier weitergeholfen werden würe
(Nichts gegen eure Antworten! Diese haben mir wohl im allgemeinen weitergeholfen aber leider noch nicht bei meinem Projekt.)

Dennoch bin ich Euch bisher sehr Dankbar.

Mfg
 
Habe bisher schon Fortgeschrittene Kentnisse mit der Webprogrammierung und lerne seit ca einem Jahr den Nachfolger von Java -> C# in der Schule.

Ich habe aber schon das Stichwort Display.setParent() mitbekommen, kann aber leider nocht nicht was damit anfangen.

#1: Ich würde C# nicht als nachfolger von Java bezeichnen...
#2: zu "Display" und deren Funktionen gibt es aber mit 100% Sicherheit eine Dokumentation die man nutzen könnte 😉

Nimm mir das nicht übel, aber wer Erfahrung mit Programmiersprachen hat sollte auch die Dokumentation lesen können.
 
schließe mich TKausL an ...

C# gehört erstmal grundsätzlich zum DotNET-Framework von M$ ... hat mit java selbst also so nichts zu tun ...
man könnte es teilweise als "konkurenz-produkt von M$ gegen java" sehen ... wobei J# da eher der kandidat für wäre ... aber genaueres über die zusammenhänge und vor allem unterschiede zwischen diesen sprachen liefert wikipedia recht ausführlich

wie genau das umschalten zwischen java-rendering und lwjgl funktioniert steht mit sicherheit in der doku die man auch mal lesen sollte ...
und ob man dazu jetzt swing nutzen kann oder noch AWT nötig ist (auf grund der erwähnten system-nähe) wird doch auch erläutert sein ...

ich hab eben mal einen teil des launchers decompiled und musste leider einen schweren fehler entdecken : als grundlage wird ein java.awt.Frame genutzt ... in diesem wird aber leider mit Swing gearbeitet ... das ist etwas was man nie machen sollte ... zeigt aber schon mal : für das "fenster" wird ein java.awt.Frame genutzt ... also solltest du deinen launcher entsprechend auch in AWT schreiben und dann auf lwjgl umschalten ... den fehler in einem awt-frame swing zu nutzen solltest du im gegensatz zu mojang vermeiden ...

(was zur hölle ... ein game in java entwickeln und dann einen solchen banalen anfänger-fehler machen ... na dafür muss es ja wirklich gute gründe geben um gegen die empfehlungen von sun awt und swing nicht zu mischen zu verstoßen ...)

wie genau du dann dafür sorgst das lwjgl weiter in dem awt-frame läuft entnimmst du bitte der doc ... oder hoffst das jemand der damit erfahrung hat mal über dieses thema stolpert
 
Wow vielen Dank jetzt ist es für mich schon um einiges Verständlicher und ich finde es irgentwie amüsant, dass auch eine firma wie majon so einen fehler noch nicht behoben hat oder darüber gestolpert ist. Danke!

Darf ich noch schnell Fragen welches programm du zu dekompilieren nutzt ?

Mfg
 
ich denke selbst wenn ich dir den de-compiler verrate und wie ich damit den launcher halbwegs sinnvoll lesen konnte wirst du am code der dir erzeugt wird nicht wirklich freude haben ... da auch ich meine probleme hatte überhaupt zu blicken was da abgeht ...
ich habe dir lediglich die info geliefert die für dich interessant ist wie es das "original" macht und win welche richtung du da jetzt weiter selbst suchen musst ...
 
JAD ist zwar bekannt ... aber auch dafür das er nicht der beste ist ...
es gibt andere die deutlich besser mit obfuscated-code umgehen können und bessere ergebnisse liefern ...

btw : in deutschland ist de-compiling eine rechtliche grauzone ... so lange du es also nur für dich machst ist es ok ... aber code aus de-compileten class-files darfst du so nicht wiederverwenden und schon garnicht publizieren ...
 
btw : in deutschland ist de-compiling eine rechtliche grauzone ... so lange du es also nur für dich machst ist es ok ... aber code aus de-compileten class-files darfst du so nicht wiederverwenden und schon garnicht publizieren ...

Es gibt einen Decompiler der extra für Java geschrieben wurde (Er Deobfuscated und Obfuscated den MC-Code) welcher für z.B. Mod-Programmierung genutzt wird. Bis jetzt wurde noch keiner dieser Mod-Programmierer verklagt .
 
Es gibt einen Decompiler der extra für Java geschrieben wurde (Er Deobfuscated und Obfuscated den MC-Code) welcher für z.B. Mod-Programmierung genutzt wird. Bis jetzt wurde noch keiner dieser Mod-Programmierer verklagt .

das weis ich ... und was ich daran noch viel beunruhigender finde ist das dieses sogar "Minecraft Coding Pack" - MCP sogar aus der feder eines deutschen stammt und auf deutschen servern gehostet wird ...

außerdem hat Mojang mitlerweile eine "modding-lizenz" veröffentlich nach dem es zumindest nicht mehr strafbar ist wenn man z.b. MCP dazu nutzt um mods zu entwickeln ...

ich wollte lediglich darauf aufmerksam machen das eben bei werken die eine sehr strenge lizenz haben in denen de-compiling und anderes ausdrücklich untersagt ist in deutschland eine rechtliche grauzone ist ... und man sich daher zumindest bei nicht eindeutiger lizenz eher zurückhalten sollte soetwas öffentlich zusagen ...
 
um mal noch im nachhinein auf den geschlossenen thread zu antworten :

ich kann mich hier TKausL nur wortlos anschließen ...

du willst irgendwas mit LWJGL machen ... die neben ihrer "game-engine" wie es ja vom namen her heißt auch anbindungen an 3d-grafik und inputs hat ...
und damit umzugehen ist schon schön kompliziert ... generell zählt 3d-"spiele"-programmierung zu einem der schwierigsten themen ...

und wenn sowas vor hat sollte man wirklich die elementarsten grundalgen drauf haben ... wozu z.b. auch gehört das man das stück code was du gelinkt hast selbst so anpassen können sollte um halt da noch n bissl was gui-mäßiges einzubauen ...
aber da es alleine daran schon scheitert will ich nicht wissen was überhaupt nach dem punkt kommen soll an dem dann LWJGL übernimmt ...
irgendwas fertiges ausm netz ?
irgend so n klicki-bunti-klick-baukasten ?
sonst irgendwas ?
ich denke kaum das du da auch nur genau eine zeile weiter kommst wenn nicht mal sowas grundlegendes wie code-modification drauf hast ...

sorry ... aber in diesem sinne sollte man auch den thread hier closen da eine weitere diskusion irgendwie zwecklos wäre
 

Zurück
Oben