FAQ de BetterStructures
Pour la première liaison avec Nightbreak, les téléchargements de paquets ou les importations manuelles, commencez par les pages communes de la section Global. Cette FAQ contient uniquement les réponses propres à BetterStructures.
Pourquoi les structures n'apparaissent-elles pas ?
La cause la plus fréquente est un test dans un terrain déjà exploré avant l'installation de BetterStructures.
BetterStructures génère des structures dans les terrains inexplorés et ne remplit pas les anciens chunks rétroactivement. Pour voir rapidement la génération naturelle :
- Volez vers de nouveaux chunks
- Générez un nouveau monde de test
- Ou utilisez les commandes de placement et de configuration au lieu d'attendre la génération naturelle
Pourquoi BetterStructures s'est-il désactivé après un rechargement ?
/bs reload vide tous les registres de contenu avant qu'un thread de travail les reconstruise. Si cette reconstruction échoue, continuer laisserait un plugin apparemment actif avec du contenu partiel ou vide. BetterStructures se désactive donc délibérément pour éviter cet état.
L'erreur réelle est affichée dans la console juste avant la désactivation. Corrigez la configuration ou le schematic indiqué, puis redémarrez le serveur.
Pourquoi ma commande est-elle refusée pendant un rechargement ?
/bs place, /bs lootify, /bs pregenerate et /bs generateModules lisent ou modifient les registres de contenu utilisés par le thread de rechargement. Elles sont donc refusées pendant cette opération avec un message indiquant que le contenu est en cours de rechargement. L'analyse des nouveaux chunks et les analyses de donjons en attente reprennent après un rechargement réussi. Si un chunk en attente est déchargé, son analyse attend son prochain chargement. Attendez le message de réussite du rechargement, puis réessayez.
Exécuter de nouveau /bs reload pendant un rechargement n'échoue pas : la demande est mise en attente et un autre rechargement complet suit le premier. Les modifications de fichiers effectuées pendant le rechargement sont ainsi prises en compte.
Comment désactiver les avertissements aux administrateurs concernant les nouvelles structures ?
BetterStructures propose le paramètre warnAdminsAboutNewBuildings dans config.yml. La commande /betterstructures silent inverse sa valeur.
C'est utile pendant la prégénération ou les tests administratifs qui produisent beaucoup d'avertissements.
Ce paramètre s'applique à tout le serveur. Les messages sont envoyés aux joueurs en ligne disposant de la permission betterstructures.warn, que les OP possèdent par défaut : vous pouvez donc aussi refuser cette permission à certains membres du staff.
Que signifie setupDone ?
setupDone indique si la configuration initiale de BetterStructures a été terminée.
falsesignifie qu'elle est encore considérée comme incomplètetruesignifie qu'elle a déjà été terminée
Pour relancer volontairement cette configuration, définissez setupDone: false, rechargez le plugin et exécutez à nouveau /bs initialize.
BetterStructures nécessite-t-il WorldEdit ?
Oui. WorldEdit est une dépendance obligatoire dans plugin.yml. BetterStructures n'est donc pas prévu pour fonctionner sans lui.
Comment fonctionne l'intégration WorldGuard ?
Lorsque WorldGuard et EliteMobs sont tous deux installés, BetterStructures enregistre et utilise le drapeau betterstructures-protect pour ses zones protégées. Les deux plugins doivent être présents pour activer cette protection.
Le paramètre correspondant est :
protectEliteMobsRegions: true
Définissez-le sur false pour désactiver la protection WorldGuard gérée par BetterStructures pour le contenu compatible.
Le message affiché lorsqu'un joueur tente de casser ou de placer des blocs dans une zone protégée est également configurable :
regionProtectedMessage: "&8[BetterStructures] &cDefeat the zone's bosses to edit blocks!"
Puis-je ajouter des objets personnalisés aux trésors de BetterStructures ?
Oui. BetterStructures propose :
/betterstructures lootify <generator> <rarity> <minAmount> <maxAmount> <weight>
Exécutez cette commande en tenant l'objet à enregistrer. Elle écrit l'objet tenu dans l'entrée du générateur de trésor sélectionné.
Les validations actuelles de la commande sont les suivantes :
- Le générateur de trésor doit exister
- La rareté doit déjà exister dans cette configuration de trésor
minAmountdoit être au moins égal à1maxAmountdoit être au plus égal à64- L'objet tenu ne peut pas être de l'air
BetterStructures accepte-t-il les entrées de trésor MMOItems ?
Oui. BetterStructures intègre MMOItems et son système de trésor accepte les objets provenant d'autres plugins. Pour la syntaxe MMOItems, conformez les exemples de vos fichiers de trésor à la documentation actuelle de la page consacrée aux trésors, plutôt qu'à d'anciens extraits de FAQ.
Comment EliteMobs et BetterStructures fonctionnent-ils ensemble ?
BetterStructures dispose d'une intégration facultative avec EliteMobs.
Elle permet notamment :
- De placer des marqueurs de contenu EliteMobs dans les structures générées
- De gérer des zones protégées pour le contenu utilisant EliteMobs lorsque l'intégration est activée
Pour la configuration commune, la liaison par jeton et la gestion des paquets officiels, consultez les pages Global et les pages de configuration et de contenu de BetterStructures. Elles constituent la référence principale pour ces sujets.
Puis-je prégénérer un monde de manière plus sûre ?
Oui. BetterStructures propose des paramètres de performance pour la prégénération dans config.yml, notamment :
percentageOfTickUsedForPregeneration(défaut :0.1) : part de chaque tick serveur consacrée à la prégénération des chunkspregenerationTPSPauseThreshold(défaut :12.0) : seuil de TPS en dessous duquel la prégénération se met en pausepregenerationTPSResumeThreshold(défaut :14.0) : seuil de TPS au-dessus duquel la prégénération reprend
Pour le collage normal des structures, le principal paramètre de cadence est :
percentageOfTickUsedForPasting: 0.2
Des valeurs plus faibles réduisent l'impact par tick, mais ralentissent le collage des structures.
Comment les emplacements des structures sont-ils déterminés ?
BetterStructures conserve les paramètres d'espacement et de décalage aléatoire de chaque type de structure dans config.yml. Consultez la configuration pour la référence complète.
Chaque type de structure utilise sa propre grille en losange, déterminée par la graine du monde. Les distances et les décalages sont mesurés en chunks, et non en blocs : un distanceSurface de 27 correspond à environ une structure de surface tous les 27 chunks, soit environ 432 blocs.
Les principaux paramètres de distance sont :
distanceSurface(défaut :27)distanceShallow(défaut :22)distanceDeep(défaut :22)distanceSky(défaut :90)distanceLiquid(défaut :60)distanceDungeonV2(défaut :80)
Les paramètres de décalage associés sont :
maxOffsetSurface(défaut :5)maxOffsetShallow(défaut :5)maxOffsetDeep(défaut :5)maxOffsetSky(défaut :5)maxOffsetLiquid(défaut :5)maxOffsetDungeonV2(défaut :18)
Les distances doivent valoir au moins 1. Les décalages doivent être compris entre 0 et 1073741823, la plus grande valeur que le tirage aléatoire de placement peut utiliser sans risque. Lorsqu'une valeur sort de sa plage valide, BetterStructures affiche un avertissement, réécrit la valeur par défaut de cette clé dans config.yml et poursuit la génération avec cette valeur.
La génération reste ainsi déterminée par la graine et la configuration, au lieu d'être redistribuée au hasard à chaque redémarrage.
À quoi sert modularChunkPastingSpeed ?
Actuellement, à rien. modularChunkPastingSpeed (défaut : 10) est toujours écrit dans config.yml, mais le plugin ne le lit pas : le modifier n'a aucun effet. La cadence de collage dépend de percentageOfTickUsedForPasting. Utilisez cette clé pour régler la part de chaque tick consacrée au placement des blocs.
À quoi sert spawnProtectionRadius ?
spawnProtectionRadius (défaut : 100) définit la distance minimale, en blocs, autour des coordonnées 0, 0 du monde dans laquelle aucune structure n'est placée. Ce paramètre s'applique à tous les mondes. Définissez-le sur 0 pour désactiver cette protection.
Comment désactiver les structures dans certains mondes ?
Le fichier ValidWorlds.yml contrôle les mondes autorisés à recevoir des structures. Chaque monde possède une valeur booléenne :
New worlds spawn structures: true
Valid worlds v2:
world: true
world_nether: true
world_the_end: true
Définissez un monde sur false pour empêcher BetterStructures d'y placer des structures. New worlds spawn structures détermine si les mondes nouvellement détectés sont automatiquement activés pour la génération.
Si votre ancien fichier utilise Valid worlds, la mise à jour l'archive et génère les valeurs par défaut actuelles. Reportez vos choix sous Valid worlds v2 en suivant les instructions de mise à jour de la configuration.
Deux comportements sont à connaître :
- Les nouveaux mondes gérés par EliteMobs sont exclus par défaut. BetterStructures consulte le registre des mondes appartenant à EliteMobs et les ajoute avec la valeur
false, même lorsqueNew worlds spawn structuresvauttrue. Les réglages existants sont conservés, y compris untrueexplicite. Un monde géré qui reste activé produit un avertissement. Un nom commençant parem_ne suffit pas à établir qu'un monde appartient à EliteMobs ; l'ancien marqueur de migration n'est plus utilisé. - Les entrées des mondes supprimés sont retirées. Au démarrage, puis environ dix secondes après le déchargement d'un monde, BetterStructures supprime toute entrée de
Valid worlds v2dont le monde n'est ni chargé ni présent sur le disque. Le fichier n'accumule ainsi pas d'entrées obsolètes.
Puis-je appliquer une mise à jour du plugin sans redémarrer ?
Oui. Une fois qu'une mise à jour a été téléchargée par /bs downloadpluginupdate, /bs downloadall ou le menu de configuration, exécutez /bs applypluginupdate. Pour que les mises à jour téléchargées soient appliquées automatiquement, définissez nightbreak.applyPluginUpdatesWithoutRestart sur when-empty ou immediately dans config.yml. Consultez Commandes pour savoir ce que le remplacement recharge et dans quels cas il est refusé.
Comment réparer un pack de contenu endommagé ou partiellement supprimé ?
Utilisez /bs forcereinstallcontent <package|all>. Les téléchargements normaux comparent les versions et ignorent les paquets déjà à jour, ce qui ne convient pas lorsque les fichiers sont endommagés. La réinstallation forcée fait repasser le paquet par le même processus authentifié de téléchargement, d'importation et de rechargement, quelle que soit sa version.
all couvre tous les paquets que BetterStructures considère actuellement comme téléchargés, installés ou obsolètes. Si tous les fichiers d'un paquet ont disparu, BetterStructures ne peut plus le détecter : indiquez alors directement son slug. La complétion par tabulation propose tous les slugs connus.