4.7 KiB
4.7 KiB
title, type, weight
| title | type | weight |
|---|---|---|
| Editeur Prefab | docs | 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
public class PrefabEditSession {
// Session d'edition active pour un prefab
// Suit modifications et ancres
}
Gestionnaire de Sessions
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
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:
// Type d'interaction enregistre
getCodecRegistry(Interaction.CODEC).register(
"PrefabSelection",
PrefabSelectionInteraction.class,
PrefabSelectionInteraction.CODEC
);
PrefabSetAnchorInteraction
Definir ancres via interaction:
// Permet de cliquer pour placer ancres
getCodecRegistry(Interaction.CODEC).register(
"PrefabSetAnchor",
PrefabSetAnchorInteraction.class,
PrefabSetAnchorInteraction.CODEC
);
Parametres de Creation
PrefabEditorCreationSettings
Configuration pour creer nouveaux prefabs:
public class PrefabEditorCreationSettings {
// Parametres pour creation prefab
// Flag inclure entites
// Parametres compression
}
Systemes
PrefabDirtySystems
Suit les modifications aux prefabs:
// Marque prefab comme modifie quand changements surviennent
// Demande sauvegarde a la sortie
PrefabMarkerProvider
Fournit marqueurs visuels pour ancres:
// Affiche positions d'ancrage en mode creatif
// Montre points de connexion
Utilisation de l'API
Sauver Selection comme Prefab
BuilderToolsPlugin tools = BuilderToolsPlugin.get();
// La selection doit etre definie d'abord
// Utiliser commande /prefab save ou API
Charger et Placer Prefab
// Charger vers presse-papiers
// /prefab load <nom>
// Coller a l'emplacement
// /paste
Verifier Mode Edition
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