BetterStructures
BetterStructures est un scanner de topologie indépendant du générateur qui trouve des emplacements de placement optimaux pour les structures personnalisées en fonction de la géométrie et des caractéristiques des blocs. Le plugin colle des schematics dans votre monde avec des méthodes d'adaptation du terrain qui préservent l'apparence naturelle de votre monde.
Le plugin utilise un balayage avancé pour mesurer la compatibilité du terrain et adapte les structures pour s'intégrer parfaitement dans les mondes existants. Il prend en charge les piédestaux, les blocs spéciaux et le collage intelligent qui rend les structures naturelles dans n'importe quel environnement.
Bien démarrer
Exigences
Requis:
- WorldEdit ou FastAsyncWorldEdit (l'un doit être installé)
- Minecraft 1.14+ (Paper recommandé)
Optionnel:
- EliteMobs (pour les rencontres de boss dans les structures)
- WorldGuard (pour la protection des régions)
- Générateurs de monde personnalisés (Terralith, Iris, Terra, TerraformGenerator)
Installation
- Installez WorldEdit ou FastAsyncWorldEdit sur votre serveur
- Téléchargez BetterStructures et placez-le dans votre dossier plugins
- Téléchargez les packs de structures:
- Packs gratuits: magmaguy.itch.io (103+ structures disponibles)
- Packs premium: patreon.com/magmaguy
- Extrayez les fichiers de structure téléchargés dans
~/plugins/BetterStructures/imports - Démarrez votre serveur ou exécutez
/betterstructures reload
Le plugin traite automatiquement les structures importées et les rend disponibles pour la génération.
Démarrage rapide
Après l'installation, les structures apparaissent automatiquement dans votre monde en fonction de leurs paramètres configurés. Pour tester le placement de structures ou gérer le plugin, utilisez les commandes listées ci-dessous.
Commandes
Toutes les commandes utilisent la base /betterstructures ou l'alias /bs.
| Commande | Description | Permission |
|---|---|---|
/betterstructures | Commande principale | Aucune |
/betterstructures reload | Recharger toutes les configurations | betterstructures.* |
/betterstructures place <name> <type> | Tester le placement de structure à votre emplacement | betterstructures.* |
/betterstructures lootify | Ajouter des objets personnalisés aux tables de butin | betterstructures.* |
/betterstructures setup | Exécuter le processus de configuration | betterstructures.setup |
/betterstructures initialize | Initialiser le plugin | betterstructures.initialize |
/betterstructures generatemodules | Générer des donjons modulaires (vitesse normale) | betterstructures.generatemodules |
/betterstructures generatemodules slowly | Générer des donjons modulaires lentement (faible impact serveur) | betterstructures.generatemodules.slowly |
/betterstructures generatemodules instantly | Générer des donjons modulaires instantanément (impact serveur élevé) | betterstructures.generatemodules.instantly |
/betterstructures teleport | Se téléporter vers les emplacements de structure | betterstructures.* |
/betterstructures version | Afficher la version du plugin | Aucune |
/betterstructures silent | Basculer le mode silencieux | betterstructures.* |
Permissions
Toutes les permissions sont par défaut op (opérateurs de serveur uniquement).
| Permission | Description | Défaut |
|---|---|---|
betterstructures.setup | Accès à la commande setup | op |
betterstructures.initialize | Accès à la commande initialize | op |
betterstructures.generatemodules | Accès à la génération de modules standard | op |
betterstructures.generatemodules.slowly | Accès à la génération de modules lente | op |
betterstructures.generatemodules.instantly | Accès à la génération de modules instantanée | op |
Types de structures
BetterStructures prend en charge six types de structures, chacun avec des règles de placement et des emplacements d'apparition différents.
SURFACE
Fait apparaître des structures à la surface du sol, en s'adaptant à l'élévation du terrain. Le plugin recherche des zones plates ou compatibles et place les structures avec un mélange automatique du terrain.
Espacement par défaut: 31 blocs entre les structures
SKY
Place des structures flottant dans l'air à haute altitude.
Plage d'altitude:
- Overworld: 80-120 blocs
- End: 80-120 blocs
Espacement par défaut: 95 blocs entre les structures
UNDERGROUND_SHALLOW
Génère des structures dans des zones souterraines peu profondes près de la surface.
Plage de niveau Y (Overworld): 0 à 60
Espacement par défaut: 22 blocs entre les structures
UNDERGROUND_DEEP
Crée des structures dans des emplacements souterrains profonds, y compris les grottes et cavernes profondes.
Plage de niveau Y (Overworld): -64 à 0
Espacement par défaut: 22 blocs entre les structures
LIQUID_SURFACE
Fait apparaître des structures sur les surfaces d'eau ou de lave, parfait pour les monuments océaniques ou les bases flottantes.
Espacement par défaut: 65 blocs entre les structures
DUNGEON
Génère des donjons procéduraux modulaires utilisant l'algorithme Wave Function Collapse. Ces structures connectent plusieurs modules pour créer des systèmes souterrains complexes.
Espacement par défaut: 80 blocs entre les structures
Configuration
Configuration principale (config.yml)
Le fichier de configuration principal contient les paramètres globaux qui s'appliquent à toutes les structures.
Plages de niveau Y
Contrôlez les limites de hauteur pour la génération de structures dans différentes dimensions.
# Overworld/Mondes personnalisés
lowestYNormalCustom: -60
highestYNormalCustom: 320
# Nether
lowestYNether: 4
highestYNether: 120
# End
lowestYEnd: 0
highestYEnd: 320
Altitudes de construction aérienne
Définissez les plages d'altitude pour les structures célestes.
# Overworld/Mondes personnalisés
normalCustomAirBuildingMinAltitude: 80
normalCustomAirBuildingMaxAltitude: 120
# End
endAirBuildMinAltitude: 80
endAirBuildMaxAltitude: 120
Espacement des structures
Définissez les distances minimales entre les structures de chaque type.
distanceSurface: 31 # Structures de surface
distanceShallow: 22 # Souterrain peu profond
distanceDeep: 22 # Souterrain profond
distanceSky: 95 # Structures célestes
distanceLiquid: 65 # Surface liquide
distanceDungeon: 80 # Donjons
Randomisation de l'espacement
Ajoutez un décalage aléatoire au placement des structures pour éviter les motifs en grille.
maxOffsetSurface: 5 # ±5 blocs pour la surface
maxOffsetShallow: 5 # ±5 blocs pour peu profond
maxOffsetDeep: 5 # ±5 blocs pour profond
maxOffsetSky: 5 # ±5 blocs pour le ciel
maxOffsetLiquid: 5 # ±5 blocs pour liquide
maxOffsetDungeon: 18 # ±18 blocs pour les donjons
Notifications d'administration
warnAdminsAboutNewBuildings: true # Notifier les admins quand les structures apparaissent
Configuration des schematics
Chaque schematic a son propre fichier de configuration dans ~/plugins/BetterStructures/schematics/.
Paramètres disponibles:
- isEnabled: Activer ou désactiver ce schematic (par défaut: true)
- weight: Probabilité de sélection lorsque plusieurs schematics sont disponibles (par défaut: 1.0)
- generatorConfigFilename: Lie à la configuration du générateur qui contrôle où cette structure apparaît
- pedestalMaterial: Type de bloc utilisé pour les piédestaux sous la structure
- treasureFile: Configuration de table de butin personnalisée pour les coffres dans cette structure
Configuration du générateur
Les configurations de générateur contrôlent où et quand les structures apparaissent. Les fichiers sont situés dans ~/plugins/BetterStructures/generators/.
Paramètres disponibles:
- structureType: L'un des six types (SURFACE, SKY, UNDERGROUND_SHALLOW, UNDERGROUND_DEEP, LIQUID_SURFACE, DUNGEON)
- lowestYLevel: Hauteur d'apparition minimale (par défaut: -59)
- highestYLevel: Hauteur d'apparition maximale (par défaut: 320)
- validWorlds: Liste des noms de monde où cette structure peut apparaître (vide = tous les mondes)
- validWorldEnvironments: Filtrer par type d'environnement (NORMAL, NETHER, THE_END)
- validBiomes: Liste des biomes où la structure peut apparaître (prend en charge le format namespace comme
minecraft:plains) - treasureFilename: Référence de table de butin pour les coffres dans cette structure
Configuration des trésors
Les configurations de trésors définissent les tables de butin pour les coffres de structure. Les fichiers sont situés dans ~/plugins/BetterStructures/treasures/.
Paramètres disponibles:
- mean: Nombre moyen d'objets par coffre (par défaut: 4.0)
- standardDeviation: Variation des quantités d'objets (par défaut: 3.0)
- rawLoot: Pools d'objets organisés par niveau de rareté
- chestEntries: Objets spécifiques avec plages de quantités et chances d'apparition
Configuration d'enchantement:
Chaque matériau peut avoir des règles d'enchantement:
- minLevel: Niveau d'enchantement minimum
- maxLevel: Niveau d'enchantement maximum
- chance: Probabilité d'appliquer l'enchantement (0.0 à 1.0)
Blocs spéciaux
BetterStructures utilise des blocs spéciaux dans les schematics pour contrôler le comportement de collage et ajouter des fonctionnalités.
Blocs de barrière
Les blocs de barrière indiquent au plugin de sauter le collage à cet emplacement, préservant la génération de monde d'origine.
Cas d'utilisation:
- Créer des bords d'apparence naturelle qui se fondent avec le terrain
- Préserver les grottes ou caractéristiques existantes
- Arrondir les coins de structure pour correspondre au paysage
Blocs de bedrock
Les blocs de bedrock garantissent un sol solide sous la structure.
Comportement:
- Si un bloc solide existe à cet emplacement, le laisser inchangé
- Si le bloc est de l'air ou un liquide, le remplacer par le matériau du piédestal
Cas d'utilisation:
- Créer des chemins définis sans remplacer le terrain naturel
- Assurer que les structures ont des fondations stables
- Ajouter des fonctionnalités comme des rails de wagon ou des ponts qui nécessitent des blocs solides
Panneaux d'apparition
Les panneaux d'apparition créent des apparitions de créatures à des emplacements spécifiques dans vos structures. Les panneaux sont supprimés lorsque la structure est collée.
Créatures vanilla
[spawn]
ZOMBIE
Format:
- Ligne 1:
[spawn] - Ligne 2: Type d'entité (utilisez les noms de l'API Spigot comme ZOMBIE, SKELETON, CREEPER)
Intégration EliteMobs
[elitemobs]
boss_filename.yml
Format:
- Ligne 1:
[elitemobs] - Ligne 2+: Nom de fichier de configuration du boss
Crée des rencontres de boss avec protection WorldGuard. La région protégée reste jusqu'à ce que les joueurs battent le boss.
Intégration MythicMobs
[mythicmobs]
mob_identifier
5
Format:
- Ligne 1:
[mythicmobs] - Ligne 2: ID de créature MythicMobs
- Ligne 3: Niveau de créature (optionnel)
Intégration de plugins
EliteMobs
BetterStructures s'intègre avec EliteMobs pour créer des arènes de boss et des rencontres de combat.
Fonctionnalités:
- Faire apparaître des boss EliteMobs dans les structures à l'aide de panneaux d'apparition
- Protection automatique de région pendant les combats de boss
- Suppression de la protection lorsque le boss est vaincu
Configuration:
protectEliteMobsRegions: true # Activer la protection de région EliteMobs
WorldGuard
L'intégration WorldGuard fournit une protection de région et un contrôle de placement.
Fonctionnalités:
- Drapeaux personnalisés pour le placement de structure
- Capacités de protection de région
- Compatibilité avec les zones protégées par WorldGuard
WorldEdit / FastAsyncWorldEdit
WorldEdit ou FastAsyncWorldEdit est requis pour les opérations de collage de schematic.
Exigences:
- Installez l'un (pas les deux) de ces plugins
- La compatibilité de version est critique - utilisez des versions correspondant à votre serveur
- FastAsyncWorldEdit est recommandé pour les grandes structures sur les serveurs occupés
Générateurs de monde
BetterStructures fonctionne avec les générateurs de monde personnalisés:
Générateurs pris en charge:
- Terralith
- Iris
- Terra
- TerraformGenerator
Ces intégrations permettent la génération de structures dans des biomes personnalisés et des types de terrain.
Optimisation des performances
Ajustez ces paramètres dans config.yml pour optimiser les performances de votre serveur.
Vitesse de collage de chunk
modularChunkPastingSpeed: 10
Contrôle la vitesse de collage des structures modulaires. Des valeurs plus élevées collent plus rapidement mais utilisent plus de ressources serveur.
Valeurs recommandées:
- Petits serveurs (1-10 joueurs): 10-15
- Serveurs moyens (10-50 joueurs): 5-10
- Grands serveurs (50+ joueurs): 3-5
Pourcentage d'utilisation de tick
percentageOfTickUsedForPasting: 0.2
Limite le pourcentage de chaque tick serveur utilisé pour les opérations de collage. La valeur par défaut est 0.2 (20% du temps de tick).
Valeurs recommandées:
- Serveurs haute performance: 0.3-0.4 (30-40%)
- Serveurs standard: 0.2 (20%)
- Serveurs occupés avec problèmes de TPS: 0.1-0.15 (10-15%)
Vitesse de génération de module
Lors de l'utilisation de /betterstructures generatemodules, vous avez trois options de vitesse:
Normal: /betterstructures generatemodules
Vitesse de génération équilibrée avec impact serveur modéré.
Lentement: /betterstructures generatemodules slowly
Impact serveur minimal, meilleur pour les serveurs occupés ou pendant les heures de pointe.
Instantanément: /betterstructures generatemodules instantly
Vitesse maximale, impact serveur élevé. À utiliser uniquement pendant les périodes de faible trafic.
API développeur
BetterStructures fournit deux événements pour que les développeurs de plugins puissent interagir avec la génération de structures.
BuildPlaceEvent
Se déclenche lorsqu'une structure est sur le point d'être placée dans le monde.
Package: com.magmaguy.betterstructures.api.BuildPlaceEvent
Type d'événement: Annulable
Cas d'utilisation:
- Valider le placement de structure
- Implémenter des vérifications de permission personnalisées
- Empêcher le placement dans des zones spécifiques
- Enregistrer la génération de structures
Important: Ne modifiez pas l'objet build lui-même. L'événement expose l'objet FitAnything, mais modifier l'ensemble de la construction peut causer un mauvais ajustement du terrain. N'effectuez que des ajustements mineurs si nécessaire.
ChestFillEvent
Se déclenche lorsque les coffres dans les structures sont remplis de butin.
Package: com.magmaguy.betterstructures.api.ChestFillEvent
Type d'événement: Annulable
Cas d'utilisation:
- Ajouter des objets personnalisés au butin de structure
- Modifier ou supprimer le butin généré
- Implémenter une logique de butin personnalisée
- Suivre le contenu des coffres
Utilisation: Modifiez le butin en utilisant les méthodes addItem() et removeItem() sur l'inventaire snapshot. Ne manipulez pas directement le conteneur de coffre.
Dépendance Maven
BetterStructures n'a actuellement pas de dépôt Maven. Pour utiliser l'API, importez manuellement le jar du plugin dans votre projet.
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>BetterStructures</artifactId>
<version>2.0.3</version>
<scope>provided</scope>
</dependency>
Ajoutez le jar du plugin au chemin de build de votre projet et marquez-le comme dépendance fournie dans votre plugin.yml.
Ressources supplémentaires
Wiki GitHub officiel: github.com/MagmaGuy/BetterStructures/wiki
Téléchargements de structures:
- Packs gratuits: magmaguy.itch.io
- Packs premium: patreon.com/magmaguy
Page du plugin: spigotmc.org/resources/betterstructures.103241
Support: Visitez le dépôt GitHub officiel ou la page de ressource SpigotMC pour le support et les rapports de bugs.