Aller au contenu principal

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

  1. Installez WorldEdit ou FastAsyncWorldEdit sur votre serveur
  2. Téléchargez BetterStructures et placez-le dans votre dossier plugins
  3. Téléchargez les packs de structures:
  4. Extrayez les fichiers de structure téléchargés dans ~/plugins/BetterStructures/imports
  5. 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.

CommandeDescriptionPermission
/betterstructuresCommande principaleAucune
/betterstructures reloadRecharger toutes les configurationsbetterstructures.*
/betterstructures place <name> <type>Tester le placement de structure à votre emplacementbetterstructures.*
/betterstructures lootifyAjouter des objets personnalisés aux tables de butinbetterstructures.*
/betterstructures setupExécuter le processus de configurationbetterstructures.setup
/betterstructures initializeInitialiser le pluginbetterstructures.initialize
/betterstructures generatemodulesGénérer des donjons modulaires (vitesse normale)betterstructures.generatemodules
/betterstructures generatemodules slowlyGénérer des donjons modulaires lentement (faible impact serveur)betterstructures.generatemodules.slowly
/betterstructures generatemodules instantlyGénérer des donjons modulaires instantanément (impact serveur élevé)betterstructures.generatemodules.instantly
/betterstructures teleportSe téléporter vers les emplacements de structurebetterstructures.*
/betterstructures versionAfficher la version du pluginAucune
/betterstructures silentBasculer le mode silencieuxbetterstructures.*

Permissions

Toutes les permissions sont par défaut op (opérateurs de serveur uniquement).

PermissionDescriptionDéfaut
betterstructures.setupAccès à la commande setupop
betterstructures.initializeAccès à la commande initializeop
betterstructures.generatemodulesAccès à la génération de modules standardop
betterstructures.generatemodules.slowlyAccès à la génération de modules lenteop
betterstructures.generatemodules.instantlyAccès à la génération de modules instantanéeop

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:

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.