Skip to content

Commit aa55188

Browse files
Rewrite access transformers page (Les-Moddeurs-Francais#95)
* Begin work * Syntax + fix somes mistakes * Descriptors tab * Change somes things * Fix mistakes Co-authored-by: [email protected] <FDSQjp#96PJy@Aof>
1 parent 1a81d19 commit aa55188

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

docs/advanced/access-transformer.md

+28-12
Original file line numberDiff line numberDiff line change
@@ -15,40 +15,56 @@ minecraft {
1515
}
1616
```
1717

18-
Après cela, vous devrez créer un fichier `accesstransformer.cfg` au niveau du chemin spécifié.
18+
Après cela, vous devrez créer un fichier `accesstransformer.cfg` au niveau du chemin spécifié (ici le dossier `META-INF` situé dans vos ressources).
1919

20-
Pour appliquer les `access trasnformers` après une modification du fichier, vous devrez rafraichir le projet gradle.
20+
Il est à chaque fois nécessaire de rafraîchir son projet Gradle pour que les _transformers_ soit appliqués.
2121

2222
## Commentaires
2323

24-
Tous les textes succédant un `#` avant la fin de la ligne seront transcrits comme des commentaires et ne seront pas pris en compte.
24+
Tous les textes succédant un `#` avant la fin de la ligne seront interprétés comme des commentaires et ne seront pas pris en compte par _ForgeGradle_.
25+
26+
## Syntaxe
27+
28+
Trois syntaxes sont disponibles selon le type de la cible pour modifier son accès :
29+
30+
- Pour les classes : `<modificateur> <nom de la classe>`
31+
- Pour les méthodes : `<modificateur> <nom de la classe> <nom de la méthode>([descripteurs des paramètres])<descripteur de ce qui est retourné>`
32+
- Pour les variables : `<modificateur> <nom de la classe> <nom de la variable>`
2533

2634
## Les modifieurs d'accès
2735

28-
Les modificateurs d'accès spécifient vers quelle nouvelle visibilité la cible donnée sera transformée. Par ordre décroissant de visibilité :
36+
Les modificateurs d'accès spécifient vers quelle nouvelle visibilité la cible donnée sera transformée :
2937
- `public` - visible pour toutes les classes à l'intérieur et à l'extérieur de son package
3038
- `protected` - visible uniquement pour les classes à l'intérieur du package et les sous-classes
3139
- `default` - visible uniquement pour les classes à l'intérieur du package
3240
- `private` - visible uniquement à l'intérieur de la classe
3341

3442
Le modificateur spécial +f et -f peut être ajouté aux modificateurs mentionnés plus haut afin d'ajouter ou de supprimer l'attribut `final`.
3543

36-
## Obtenir les access transformers
44+
## Descripteur des retours
45+
46+
| Descripteur | Equivalent | Description |
47+
|----------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
48+
| `Z` | `Booléen` | Valeur oscillant entre `true`et `false`seulement |
49+
| `B` | `Byte` | Nombre en 8-bit |
50+
| `S` | `Short` | Nombre en 16-bit |
51+
| `C` | `Char` | Caractère unicode en UTF-16 |
52+
| `I` | `Int` | Nombre en 32-bit |
53+
| `F` | `Float` | Valeur flottante (à virgule allant jusqu'à 6 a 7 décimales) |
54+
| `J` | `Long` | Nombre en 64-bit |
55+
| `D` | `Double` | Valeur flottante (à virgule allant jusqu'à 15 à 16 décimales) |
56+
| `Ljava/lang/Object;` | `java.lang.Object` | un type de référence ; la forme interne du nom binaire de la classe doit être présente (dans l'exemple donné, la classe référencée est `java.lang.Object`). Notez que les classes internes sont séparées par le caractère `$` (signe dollar), comme par exemple `java/lang/System$Logger`. |
3757

38-
Pour obtenir les access transformers, vous pouvez rejoindre le [discord](https://discord.gg/UvedJ9m) de Forge, vous rendre dans le channel bot-commands et utiliser ces 3 commandes (ceci concerne les mappings officiels) :
39-
- `!mojf` suivi du nom de la variable (et cela peut être précédé du nom de la classe suivie d'un point pour plus de précisions, ex : `Block.harvestLevel`) pour obtenir la ligne d'access transformer correspondante.
40-
- `!mojm` suivi du nom de la fonction (et cela peut être précédé du nom de la classe suivie d'un point pour plus de précisions, ex : `Block.asBlock`) pour obtenir la ligne d'access transformer correspondante.
41-
- `!mojc` suivi du nom de la classe pour obtenir la ligne d'access transformer correspondante.
4258

4359
## Exemples
4460

4561
```
46-
# Définis la visibilité de la méthode en public
62+
# Définit la visibilité de la méthode en public
4763
public net.minecraft.data.loot.BlockLoot m_124254_(Lnet/minecraft/world/level/block/Block;Lnet/minecraft/world/item/Item;)Lnet/minecraft/world/level/storage/loot/LootTable$Builder; # createStemDrops
4864
49-
# Définis la visibilité de la variable en protected
65+
# Définit la visibilité de la variable en protected
5066
protected net.minecraft.client.gui.Gui f_168670_ # LINE_HEIGHT
5167
52-
# Définis la visibilité de la classe en protected
68+
# Définit la visibilité de la classe en protected
5369
protected net.minecraft.client.gui.screens.MenuScreens
5470
```

0 commit comments

Comments
 (0)