Aller au contenu principal

Créer du contenu


Créer la construction​

Restez sous 100x100x100 blocs comme point de départ pratique pour l'intégration au terrain et la consommation de ressources. C'est une recommandation, pas une limite stricte. Les structures plus grandes demandent davantage de mémoire et de travail de placement, ainsi qu'un emplacement adapté aux limites de hauteur du monde.


Blocs spéciaux​

BetterStructures possède deux blocs spéciaux : les barrières et la bedrock. Tous les autres blocs que WorldEdit peut coller sont placés normalement ; ces deux blocs font exception.

BlocComportementCas d'utilisation
BarrièreNe place aucun bloc à cet emplacement et préserve le terrain d'origineArrondir les bords du collage, adapter les murs aux grottes, obtenir une intégration naturelle
BedrockPréserve un bloc solide existant ; sinon, place le matériau du piédestalCréer un sol pour les rails sans remplacer le terrain solide existant

Panneaux d'apparition​

BetterStructures utilise des panneaux portant un texte précis pour faire apparaître des créatures et des boss EliteMobs ou MythicMobs aux emplacements souhaités, ou pour transmettre un marqueur à un autre plugin.

Les panneaux d'apparition sont d'abord collés, puis retirés juste avant leur tentative d'apparition, après la fin du collage des blocs. Ils peuvent être visibles pendant le collage, et leur retrait ne prouve pas que l'entité est apparue. Une balise inconnue, un type d'entité vanilla invalide ou un ID MythicMobs absent laisse un panneau ordinaire. Si EliteMobs ou MythicMobs manque, un schematic utilisant sa balise est entièrement exclu du registre des structures.

Une fois les blocs collés, BetterStructures termine la structure dans cet ordre : le piédestal, le nettoyage des arbres restants au-dessus des structures de surface, les conteneurs de butin, les créatures [spawn], les boss [elitemobs], les créatures [mythicmobs], les entités enregistrées dans le schematic, puis les marqueurs [custom]. Si une créature ou un boss ne parvient pas à apparaître, les étapes restantes sont ignorées, BuildPasteCompleteEvent n'est pas déclenché et aucun message de nouveau bâtiment n'est envoyé.

Type de panneauLigne 1Ligne 2-4Plugin requis
Créatures vanilla[spawn]Type d'entité sur la ligne 2Aucun
EliteMobs[elitemobs]Nom du fichier du boss, réparti sur les lignes 2 à 4EliteMobs
MythicMobs[mythicmobs]Nom du mob sur la ligne 2, niveau facultatif sur la ligne 3MythicMobs
Autres plugins[custom]ID du marqueur, réparti sur les lignes 2 à 4Un plugin qui écoute BuildCustomMarkerEvent

Les panneaux sur pied, muraux et suspendus sont reconnus par leur nom de matériau Bukkit se terminant par _SIGN, sans liste fixe de bois. Écrivez la balise sur la face avant, car le lecteur moderne utilise front_text, pas le dos. Les lignes saisies en jeu, le texte JSON et les composants de texte écrits par des plugins sont tous lus comme du texte brut. Les balises ne distinguent pas les majuscules des minuscules. Les ID d'entités et noms de fichiers doivent être exacts, sans espaces supplémentaires.

La ligne de niveau MythicMobs est facultative. Une ligne 3 vide donne le niveau 1. Les niveaux numériques inférieurs à 1 deviennent 1. Un niveau qui n'est pas un nombre, ou un ID de mob inconnu de MythicMobs, fait échouer l'apparition, ce qui annule les étapes de finition restantes de la structure.

Exemples de panneaux d'apparition

Créatures vanilla​

[spawn]

ZOMBIE

Fait apparaître un zombie persistant, centré horizontalement sur le bloc du panneau. Utilisez un EntityType de Spigot pouvant être créé, comme un porte-armure ou un cristal de l'End. L'énumération contient aussi des types que le monde ne peut pas créer directement. Accepter le nom ne garantit donc pas la réussite. Si le monde refuse l'apparition, les étapes de finition restantes de la structure sont ignorées.

EliteMobs​

[elitemobs]

test_boss_with

_a_long_name

.yml

Les noms longs peuvent occuper les lignes 2 à 4, qui sont jointes sans séparateurs. L'arène est protégée contre la destruction et la pose de blocs lorsque protectEliteMobsRegions est activé et qu'EliteMobs et WorldGuard sont installés. Chaque boss régional créé reçoit une région. Sa mort ne retire cette région que si le boss a removeAfterDeath: true. Un boss qui réapparaît peut donc laisser la protection active. Une apparition EliteMobs échouée, par exemple avec un nom de fichier qui ne correspond à aucun boss, annule les étapes de finition restantes de la structure.

MythicMobs​

[mythicmobs]

SkeletalKnight

10

Fait apparaître SkeletalKnight au niveau 10.

Marqueurs personnalisés​

[custom]

Zombie_Plus

BetterStructures ne fait rien de l'ID lui-même. Une fois les blocs, le butin, les créatures et les entités de la structure collés, il retire le panneau et déclenche BuildCustomMarkerEvent avec l'ID et l'emplacement du panneau, afin qu'un autre plugin puisse y faire apparaître sa propre créature, placer un bloc ou exécuter n'importe quelle autre logique. Les lignes 2 à 4 sont jointes sans séparateurs, comme les noms de fichiers EliteMobs, et chaque ligne reste aussi disponible séparément. Sans plugin à l'écoute, le marqueur disparaît simplement. Un panneau [custom] dont les lignes 2 à 4 sont vides reste un panneau ordinaire et consigne un avertissement. Les marqueurs personnalisés fonctionnent dans les structures ordinaires, pas dans les donjons modulaires.


Schematics​

Les schematics sont des fichiers générés par WorldEdit ou FastAsyncWorldEdit contenant les blocs de la construction utilisée par BetterStructures. BetterStructures utilise le format .schem, le standard moderne de WorldEdit. Enregistrez vos schematics dans ce format, et non dans l'ancien format .schematic.

Consultez le guide du presse-papiers WorldEdit pour copier et enregistrer. Voici les étapes de base :

  1. Choisissez un coin de la construction et utilisez la commande //pos1
  2. Choisissez le coin diagonalement opposé et utilisez la commande //pos2
  3. Utilisez la commande //copy
  4. Utilisez //schem save <schematicname> avec le nom de fichier souhaité.
  5. Copiez le .schem obtenu depuis le dossier de schematics de l'éditeur vers plugins/BetterStructures/schematics, puis rechargez BetterStructures. Le dossier par défaut de WorldEdit est plugins/WorldEdit/schematics.
worldedit documentation image from their docs

Exécutez bien //pos1 au point 1 et //pos2 au point 2 !


Point d'ancrage​

Le point d'ancrage correspond à l'endroit où vous exécutez //copy pour le schematic. Il détermine l'origine de la structure lors de son placement dans le monde.

Type de constructionPosition d'ancrage recommandéeRaison
SurfacePoint le plus bas du solAssure un alignement correct au sol
SouterrainAu sommet de la constructionPermet de déterminer correctement la profondeur d'enfouissement
LiquideÀ la surface de l'eauAssure un placement correct à la surface de l'eau
Air/CielAu sommet de la constructionPositionnement correct en altitude

Choisissez délibérément la position de copie. Son décalage est enregistré dans le schematic et influe sur le placement et la rotation. Restez près de la construction pour faciliter l'inspection de cette relation. La distance seule n'augmente pas le nombre de blocs de la sélection enregistrée.


Configurations de schematic

Chaque schematic possède un fichier de configuration. Pour un schematic nouvellement ajouté au serveur, ce fichier est généré après un redémarrage ou un /betterstructures reload.

Le .yml est généré dans le même dossier que le .schem. plugins/BetterStructures/schematics est parcouru récursivement : les configurations des schematics livrés dans un sous-dossier sont écrites dans ce même sous-dossier. Gardez des noms de fichiers uniques dans toute l'arborescence schematics. En cas de noms de structures en double, BetterStructures charge le premier fichier selon un ordre stable des chemins absolus et indique dans les journaux les chemins sélectionné et ignoré. Les doublons identiques octet par octet chargent la même structure dans tous les cas et sont ignorés sans avertissement. Il ne supprime aucun des deux fichiers et n'utilise pas le doublon ignoré si le fichier choisi est défectueux. Les noms de modules en double bloquent toujours l'initialisation.

Un .yml sans .schem correspondant ne crée pas de structure. Le chargeur part des fichiers schematics découverts. Si l'un des schematics sélectionnés est illisible, l'initialisation échoue au lieu d'accepter un registre partiel, même si sa configuration le désactiverait.

Ces configurations définissent les paramètres suivants pour le collage du schematic :

CléPar défautObligatoireDescription
isEnabledtrue❌Active le schematic. S'il est désactivé, il n'est placé nulle part.
weight1.0❌Poids relatif parmi les schematics admissibles. Utilisez des valeurs finies et positives. 2.0 a deux fois le poids de 1.0. Une valeur négative ou non finie consigne un avertissement et devient 0, et une structure de poids 0 n'est jamais choisie. Désactivez une structure avec isEnabled: false.
pedestalMaterialRepli de l'environnement❌Matériau de repli des piédestaux (noms Material de Spigot). Les matériaux échantillonnés dans le terrain sont prioritaires lorsqu'ils sont disponibles.
generatorConfigFilename-✅Nom du fichier de configuration du générateur, avec l'extension .yml. Sans ce paramètre, le schematic ne peut pas apparaître.
treasureFileValeur du générateur❌Remplace le fichier de trésor des coffres de cette structure. Il est généralement préférable de modifier le générateur.
barrelTreasureFilenameValeur du générateur❌Remplace le fichier de trésor des tonneaux de cette structure. Utilise par défaut le fichier fourni par le générateur, ou son fichier de repli treasure_barrel_food.yml.

Conteneurs de butin : BetterStructures détecte automatiquement les coffres, les coffres piégés et les boîtes de Shulker non colorées des schematics et les remplit avec le fichier de trésor des coffres. Les tonneaux sont remplis séparément avec leur propre fichier de trésor, treasure_barrel_food.yml par défaut. Leur remplissage peut être désactivé pour chaque générateur avec generateLootInBarrels: false. Aucun panneau spécial ni paramètre supplémentaire n'est nécessaire pour identifier ces conteneurs.

Une substitution de trésor dans le schematic exige toujours une table valide du générateur pour ce type de conteneur. Les tonneaux exigent aussi l'activation de leur butin dans le générateur. Les substitutions invalides produisent un avertissement et utilisent le générateur. Le contenu existant est préservé et le nouveau butin utilise les emplacements vides.

Les configurations de schematics nouvellement générées ont un generatorConfigFilename vide. Choisissez un fichier chargé, par exemple generator_surface_global.yml, puis exécutez /bs reload. Tant que ce champ est invalide, la structure ne peut pas apparaître et n'est pas proposée par la complétion de /bs place. La console indique le chemin de la configuration concernée et des exemples de générateurs disponibles.

Générateurs désactivés : si le générateur nommé par generatorConfigFilename a isEnabled: false, le schematic est entièrement ignoré, même si le isEnabled propre au schematic vaut true.

Détails de configuration

pedestalMaterial​

Les piédestaux remplissent jusqu'à dix blocs sous chaque colonne dont le bloc inférieur n'est pas de l'air, pour les constructions de surface et souterraines. Ils s'arrêtent sur un bloc qui n'est pas considéré comme du terrain remplaçable. Les structures aériennes et liquides ne reçoivent pas ce remplissage vers le bas. La même sélection de matériau sert aux marqueurs de bedrock dans les schematics.

Le plugin échantillonne les matériaux de surface et souterrains autour du volume de placement, puis choisit dans le groupe approprié avec un tirage pondéré par fréquence. Il ne choisit pas toujours le matériau le plus courant. Le pedestalMaterial configuré ne sert que si le groupe d'échantillons concerné est vide ; il ne remplace pas un groupe rempli. Choisissez un matériau de bloc solide. Sans repli configuré, les valeurs sont netherrack dans le Nether, pierre de l'End dans l'End et pierre ailleurs. Les structures aériennes ignorent l'échantillonnage et le repli configuré : leurs marqueurs de bedrock utilisent donc le matériau par défaut de l'environnement.

generatorConfigFilename​

Exemple : generatorConfigFilename: generator_surface_global.yml

Le fichier du générateur se trouve dans le dossier de configuration des générateurs.

treasureFile​

Consultez la documentation des fichiers de trésor et celle des générateurs pour plus de détails.

Personnaliser le contenu

Tout le contenu distribué avec BetterStructures est modifiable. Vous pouvez adapter les fichiers de schematics et les paramètres des générateurs à votre convenance.

Le guide de création ci-dessus peut aussi vous aider à modifier le contenu existant.


Dépannage

Si votre structure n'apparaît pas, vérifiez que :

  • Le fichier de schematic est au format .schem
  • Une configuration de générateur valide est indiquée
  • L'option isEnabled vaut true dans la configuration du schematic et dans le générateur qu'elle référence
  • Si le schematic se trouve dans le dossier d'un paquet de contenu, ce paquet est installé (isEnabled: true dans son fichier content_packages). Le dossier entier d'un paquet désactivé est ignoré.
  • Votre version de WorldEdit/FastAsyncWorldEdit est compatible
  • Le .yml se trouve à côté du .schem, et non dans une arborescence parasite plugins/BetterStructures/plugins/BetterStructures/.... Les anciennes versions y écrivaient par erreur. Comparez et conservez les réglages utiles avant de supprimer cette copie, puis vérifiez la configuration adjacente et son générateur après rechargement.

Si la console signale des noms de structures en double, examinez les chemins sélectionné et ignoré et donnez aux structures souhaitées des noms de fichiers uniques, avec les configurations correspondantes. Les doublons de noms sous modules bloquent toujours l'initialisation et doivent être résolus avant le redémarrage.

Le dossier .schematic_cache​

BetterStructures conserve les copies converties des schematics de structures dans plugins/BetterStructures/.schematic_cache, avec des sous-dossiers modules et components pour ces chargeurs. Les anciens .schem peuvent nécessiter une conversion des données Minecraft, dont le résultat est conservé et réutilisé. Les presse-papiers de structures et modules inchangés peuvent aussi être réutilisés en mémoire lors d'un rechargement de contenu.

Vous n'avez pas besoin de gérer ce dossier :

  • les entrées sur disque dépendent du contenu du schematic, de la version des données Minecraft et de la version de WorldEdit ; modifier l'un de ces éléments reconstruit les entrées concernées
  • les chargeurs suppriment les entrées obsolètes lorsqu'ils lisent des fichiers ou détectent des suppressions, à condition de pouvoir calculer au moins une clé de cache actuelle ; retirer tout le contenu ne vide pas automatiquement le cache
  • il ne s'agit jamais que d'une optimisation — si une entrée est manquante, illisible ou échoue à la vérification, le .schem d'origine est lu à la place

Sa suppression est sans danger ; le démarrage suivant le reconstruit simplement et prend plus de temps.

« Skipped N unsupported legacy block entries »​

Lors de la conversion d'anciens schematics, DataFixerUpper de Mojang peut émettre des messages Unsupported key: répétés, notamment pour minecraft:bed. BetterStructures compte les messages correspondants et rapporte leurs clés dans une ligne informative. Il s'agit d'un résumé de la conversion, pas d'une défaillance distincte du chargeur de structures.

Si le résumeur ne peut pas se connecter au système de journalisation du serveur, il le signale une fois et laisse les messages d'origine visibles. Examinez séparément les autres erreurs de chargement ou problèmes visibles des structures. Le résumé seul ne prouve ni une installation défectueuse ni la réussite du collage.

Si les panneaux d'apparition ne fonctionnent pas :

  • Vérifiez que le format du panneau correspond exactement aux exemples
  • Pour EliteMobs/MythicMobs, assurez-vous que les plugins sont installés
  • Vérifiez l'orthographe des types d'entités et des noms de créatures
  • Consultez les journaux du serveur pour connaître les erreurs précises