Skip to content

Commit

Permalink
Merge pull request #7 from cakihorse/swinglauncher-pages
Browse files Browse the repository at this point in the history
Fix: typo & grammar
  • Loading branch information
Bricklou authored Apr 13, 2024
2 parents 89956aa + 6eb9335 commit 8f59f8f
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 40 deletions.
7 changes: 4 additions & 3 deletions pages/swing-launcher/Get-Started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
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.

S'il vous plait, ayez une bonne connaissance de votre sujet (java, swing) pour ne pas être perdu 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é).
- Pour créer votre launcher en utilisant le [repo github](https://github.com/support-launcher/swinglauncher), clonez-le via git sur votre ordinateur.
- Ouvrez le projet avec l'ide que vous souhaitez (Intellij IDEA est fortement recommandé).

À présent vous êtes prêt à coder votre launcher !

Expand Down
34 changes: 18 additions & 16 deletions pages/swing-launcher/Launcher.java.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,30 @@ import { Callout } from "nextra-theme-docs";
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)
Cette classe permet de lancer un client minecraft en utilisant FlowUpdater. Vous pouvez trouver plus d'informations à ce 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");
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);
}
```
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.

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 pour un client minecraft. Généralement, vous allez l'utiliser pour argument concernant l'allocation en mémoire.

### 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)
Le lancement est un process, donc vous pouvez obtenir certaines informations, comme par exemple de savoir s'il est toujours fonctionnel. [Plus d'informations](https://docs.oracle.com/javase/8/docs/api/java/lang/Process.html)
43 changes: 22 additions & 21 deletions pages/swing-launcher/Main.java.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ 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.
Cette classe étends la classe 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
Expand All @@ -13,37 +13,38 @@ Nous mettons en place :
- 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 !
L'interface proposée est à titre d'exemple, 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();
}
```
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.

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 lance 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.
J'ai ajouté une fonction qui permet aux utilisateurs de bouger la fenêtre avec leur souris depuis l'intérieur de la fenêtre et non depuis la barre des tâches.

#### Theme?
J'ai également ajouté un theme swing (intellij theme).
J'ai également ajouté un thème swing (intellij theme).


<Callout type="information" emoji="🛠">
Expand Down

0 comments on commit 8f59f8f

Please sign in to comment.