Init
This commit is contained in:
229
content/reference/buildertools/prefab-editor.fr.md
Normal file
229
content/reference/buildertools/prefab-editor.fr.md
Normal file
@@ -0,0 +1,229 @@
|
||||
---
|
||||
title: Editeur Prefab
|
||||
type: docs
|
||||
weight: 3
|
||||
---
|
||||
|
||||
L'editeur de prefabs permet de creer, editer et gerer des structures prefabriquees qui peuvent etre placees dans le monde.
|
||||
|
||||
**Package:** `com.hypixel.hytale.builtin.buildertools.prefabeditor`
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Editeur Prefab
|
||||
├── Gestion Sessions
|
||||
│ ├── PrefabEditSession - Session d'edition active
|
||||
│ └── PrefabEditSessionManager - Coordinateur sessions
|
||||
├── Composants
|
||||
│ ├── PrefabAnchor - Definitions points d'ancrage
|
||||
│ └── PrefabEditorCreationSettings
|
||||
├── Interactions
|
||||
│ ├── PrefabSelectionInteraction
|
||||
│ └── PrefabSetAnchorInteraction
|
||||
├── Systemes
|
||||
│ ├── PrefabDirtySystems - Suivi changements
|
||||
│ └── PrefabMarkerProvider - Marqueurs d'ancrage
|
||||
└── Commandes
|
||||
└── PrefabEditCommand
|
||||
```
|
||||
|
||||
## Session Edition Prefab
|
||||
|
||||
### Demarrer une Session
|
||||
|
||||
```
|
||||
/prefabedit <prefab_id>
|
||||
```
|
||||
|
||||
Cela entre en mode edition prefab ou:
|
||||
- Les outils de selection fonctionnent dans les limites du prefab
|
||||
- Les changements sont suivis separement
|
||||
- Les ancres peuvent etre definies
|
||||
|
||||
### PrefabEditSession
|
||||
|
||||
```java
|
||||
public class PrefabEditSession {
|
||||
// Session d'edition active pour un prefab
|
||||
// Suit modifications et ancres
|
||||
}
|
||||
```
|
||||
|
||||
### Gestionnaire de Sessions
|
||||
|
||||
```java
|
||||
PrefabEditSessionManager manager = BuilderToolsPlugin.get().getPrefabEditSessionManager();
|
||||
|
||||
// Verifier si joueur edite
|
||||
boolean isEditing = manager.isEditing(player);
|
||||
|
||||
// Obtenir session active
|
||||
PrefabEditSession session = manager.getSession(player);
|
||||
```
|
||||
|
||||
## Ancres Prefab
|
||||
|
||||
Les ancres definissent des points speciaux dans un prefab:
|
||||
|
||||
### PrefabAnchor
|
||||
|
||||
```java
|
||||
public class PrefabAnchor {
|
||||
// Position relative a l'origine prefab
|
||||
// Identifiant nom
|
||||
// Type d'ancre
|
||||
}
|
||||
```
|
||||
|
||||
### Definir des Ancres
|
||||
|
||||
Utiliser l'interaction d'ancrage ou commande:
|
||||
|
||||
```
|
||||
/prefab anchor set <nom> [x y z]
|
||||
/prefab anchor remove <nom>
|
||||
/prefab anchor list
|
||||
```
|
||||
|
||||
### Types d'Ancres
|
||||
|
||||
| Type | Description |
|
||||
|------|-------------|
|
||||
| `origin` | Origine placement prefab |
|
||||
| `spawn` | Point de spawn entite |
|
||||
| `connection` | Connexion vers autres prefabs |
|
||||
| `custom` | Ancre definie par utilisateur |
|
||||
|
||||
## Commandes Prefab
|
||||
|
||||
### /prefab
|
||||
|
||||
Commande principale gestion prefabs:
|
||||
|
||||
```
|
||||
/prefab save <nom> Sauver selection comme prefab
|
||||
/prefab load <nom> Charger prefab vers presse-papiers
|
||||
/prefab list Lister prefabs disponibles
|
||||
/prefab delete <nom> Supprimer un prefab
|
||||
/prefab info <nom> Afficher informations prefab
|
||||
```
|
||||
|
||||
### /prefabedit
|
||||
|
||||
Entrer en mode edition prefab:
|
||||
|
||||
```
|
||||
/prefabedit <prefab_id> Editer prefab existant
|
||||
/prefabedit exit Quitter mode edition
|
||||
/prefabedit save Sauvegarder changements
|
||||
/prefabedit discard Abandonner changements
|
||||
```
|
||||
|
||||
## Interactions
|
||||
|
||||
### PrefabSelectionInteraction
|
||||
|
||||
Selectionner prefabs dans le monde:
|
||||
|
||||
```java
|
||||
// Type d'interaction enregistre
|
||||
getCodecRegistry(Interaction.CODEC).register(
|
||||
"PrefabSelection",
|
||||
PrefabSelectionInteraction.class,
|
||||
PrefabSelectionInteraction.CODEC
|
||||
);
|
||||
```
|
||||
|
||||
### PrefabSetAnchorInteraction
|
||||
|
||||
Definir ancres via interaction:
|
||||
|
||||
```java
|
||||
// Permet de cliquer pour placer ancres
|
||||
getCodecRegistry(Interaction.CODEC).register(
|
||||
"PrefabSetAnchor",
|
||||
PrefabSetAnchorInteraction.class,
|
||||
PrefabSetAnchorInteraction.CODEC
|
||||
);
|
||||
```
|
||||
|
||||
## Parametres de Creation
|
||||
|
||||
### PrefabEditorCreationSettings
|
||||
|
||||
Configuration pour creer nouveaux prefabs:
|
||||
|
||||
```java
|
||||
public class PrefabEditorCreationSettings {
|
||||
// Parametres pour creation prefab
|
||||
// Flag inclure entites
|
||||
// Parametres compression
|
||||
}
|
||||
```
|
||||
|
||||
## Systemes
|
||||
|
||||
### PrefabDirtySystems
|
||||
|
||||
Suit les modifications aux prefabs:
|
||||
|
||||
```java
|
||||
// Marque prefab comme modifie quand changements surviennent
|
||||
// Demande sauvegarde a la sortie
|
||||
```
|
||||
|
||||
### PrefabMarkerProvider
|
||||
|
||||
Fournit marqueurs visuels pour ancres:
|
||||
|
||||
```java
|
||||
// Affiche positions d'ancrage en mode creatif
|
||||
// Montre points de connexion
|
||||
```
|
||||
|
||||
## Utilisation de l'API
|
||||
|
||||
### Sauver Selection comme Prefab
|
||||
|
||||
```java
|
||||
BuilderToolsPlugin tools = BuilderToolsPlugin.get();
|
||||
// La selection doit etre definie d'abord
|
||||
// Utiliser commande /prefab save ou API
|
||||
```
|
||||
|
||||
### Charger et Placer Prefab
|
||||
|
||||
```java
|
||||
// Charger vers presse-papiers
|
||||
// /prefab load <nom>
|
||||
|
||||
// Coller a l'emplacement
|
||||
// /paste
|
||||
```
|
||||
|
||||
### Verifier Mode Edition
|
||||
|
||||
```java
|
||||
PrefabEditSessionManager manager =
|
||||
BuilderToolsPlugin.get().getPrefabEditSessionManager();
|
||||
|
||||
if (manager.isEditing(player)) {
|
||||
PrefabEditSession session = manager.getSession(player);
|
||||
// Travailler avec session
|
||||
}
|
||||
```
|
||||
|
||||
## Stockage Prefab
|
||||
|
||||
Les prefabs sont stockes dans les donnees du monde:
|
||||
|
||||
```
|
||||
worlds/<monde>/prefabs/<nom>.prefab
|
||||
```
|
||||
|
||||
La structure inclut:
|
||||
- Donnees de blocs
|
||||
- Donnees d'entites (si incluses)
|
||||
- Definitions d'ancres
|
||||
- Metadonnees
|
||||
Reference in New Issue
Block a user