-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
109 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Documentation de SwingLauncher | ||
|
||
Ici, vous allez trouver des informations concernant le code du swing template. | ||
|
||
## Avant de commencer | ||
S'il vous plait, ayez une bonne connaissance de votre sujet (java, swing) pour ne pas être peiner dans votre projet. | ||
|
||
## Installation | ||
- Pour créer votre launcher en utilisant le repo github, clonez-le via git sur votre ordinateur. | ||
- Ouvrez le projet avec l'ide que vous souhaitez (Intelij Idea est fortement recommandé). | ||
|
||
À présent vous êtes prêt à coder votre launcher ! | ||
|
||
import { Callout } from "nextra-theme-docs"; | ||
|
||
<Callout type="warning" emoji="⚠️"> | ||
Faites attention à ouvrir le bon dossier ! | ||
</Callout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
import { Callout } from "nextra-theme-docs"; | ||
|
||
<Callout type="information" emoji="❤"> | ||
noFramework est maintenant utilisé pour le lancement du jeu ! | ||
</Callout> | ||
|
||
Cette class permet de lancer un client miecraft en utilisant FlowUpdater. Vous pouvez trouver plus d'informations à propos ici: [FlowUpdater](../../flow-updater) | ||
|
||
## Launch function | ||
```java | ||
public static void launch() { | ||
try { | ||
NoFramework noFramework = new NoFramework( | ||
gameDir, | ||
authInfos, | ||
GameFolder.FLOW_UPDATER | ||
); | ||
noFramework.getAdditionalVmArgs().add("-Xms1G"); | ||
noFramework.getAdditionalVmArgs().add("-Xmx" + getSaver().get("ram") + "G"); | ||
|
||
Process p = noFramework.launch("1.8.8", "", NoFramework.ModLoader.VANILLA); | ||
} catch (Exception e) { | ||
logger.printStackTrace(e); | ||
} | ||
``` | ||
|
||
### Vm arguments | ||
Avec `"noFramework.getAdditionalVmArgs().add("eheh i'm a Vm argument");`,vous pouvez ajouter un argument à la jvm, mais vous n'avez pas enormément de possibilité d'utilisation dans notre cas. Générallement, vous allez l'utiliser comme un argument pour la ram. | ||
|
||
### Launch Process | ||
Le lancement est un process, donc vous pouvez obtenir certaines informations, comme celle de savoir s'il est toujours fonctionnel. [Plus d'informations](https://docs.oracle.com/javase/8/docs/api/java/lang/Process.html) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
import { Callout } from "nextra-theme-docs"; | ||
|
||
# Main.java | ||
|
||
Cette class extends Jframe, donc nous pouvons directement utiliser la fonction Main() pour mettre en place la fenêtre. | ||
|
||
Nous mettons en place : | ||
- Le titre de la fenêtre | ||
- La taille | ||
- L'exinction du process java lorsqu'on quitte la fenêtre (bouton rouge) | ||
- Le contenu de la fenêtre (JPanel) | ||
- L'icon du launcher | ||
- Si la fenêtre est redimensionnable. | ||
|
||
<Callout type="error" emoji="⚠️"> | ||
L'interface proposée n'est pas la votre, merci de créer la votre ! | ||
</Callout> | ||
|
||
## isConnected? | ||
```java | ||
MicrosoftAuthenticator microsoftAuthenticator = new MicrosoftAuthenticator(); | ||
final String refresh_token = getSaver().get("refresh_token"); | ||
MicrosoftAuthResult result; | ||
|
||
if (refresh_token != null) { | ||
try { | ||
result = microsoftAuthenticator.loginWithRefreshToken(refresh_token); | ||
} catch (MicrosoftAuthenticationException ex) { | ||
throw new RuntimeException(ex); | ||
} | ||
Launcher.authInfos = new AuthInfos(result.getProfile().getName(), result.getAccessToken(), result.getProfile().getId()); | ||
System.out.printf("Logged in with '%s'%n", result.getProfile().getName()); | ||
setContentPane(new PHome()); | ||
repaint(); | ||
revalidate(); | ||
} | ||
``` | ||
|
||
Ce bout de code vérifie si un compte microsoft (refresh_token, **pas les informations d'auth**) est sauvegardé dans le fichier du saver. Si c'est le cas, Le launcher se lace correctement, sinon une WebView de connexion s'affichera. | ||
## Un peu d'amusement | ||
### Déplacement de fenêtre | ||
J'ai ajouté une fonction qui permet aux uitilisateurs de bouger la fenêtre avec leur souris depuis l'intérieur de la fenêtre et non la barre des tâche. | ||
|
||
#### Theme? | ||
J'ai également ajouté un theme swing (intellij theme). | ||
<Callout type="information" emoji="🛠"> | ||
**Vous n'êtes aboslument pas obligé de garder ces ajouts.** | ||
</Callout> | ||
## Afficher la fenêtre | ||
```java | ||
Main main = new Main(); | ||
``` | ||
Cette ligne permet seulement d'afficher la fenêtre. | ||