Configuration de FreeMinecraftModels
Cette page couvre les paramètres actuels de config.yml et shop_config.yml qui affectent matériellement l'installation, le rendu, l'interaction des joueurs et la boutique de mobilier optionnelle.
Emplacements des fichiers
plugins/FreeMinecraftModels/config.yml
plugins/FreeMinecraftModels/shop_config.yml
shop_config.yml est généré à la première exécution ; la boutique elle-même reste désactivée jusqu'à ce que vous y adhériez.
Paramètres de config.yml
setupDone
- Défaut :
false - Contrôle si les conseils de configuration initiale sont considérés comme terminés
- Les joueurs disposant de permissions FreeMinecraftModels larges sont invités à exécuter
/fmm initializetant que cela reste àfalse - Le flux de configuration bascule cette valeur pour vous ; vous n'avez pas besoin de l'éditer à la main lors de l'onboarding normal
useDisplayEntitiesWhenPossible
- Défaut :
true - Indique à FreeMinecraftModels de préférer le rendu via display-entity lorsque le serveur et le client le permettent
- Le plugin retombe toujours sur les affichages via armor-stand lorsque les display entities ne sont pas disponibles (versions antérieures à 1.19.4 ou Bedrock)
- Les clients Bedrock sont un cas particulier, donc ne supposez pas que cela force le même chemin de rendu pour tous les joueurs
maxModelViewDistance
- Défaut :
60 - Limite la distance à laquelle les entités modélisées sont envoyées aux observateurs
- Des valeurs plus faibles réduisent la charge de paquets et de rendu client dans les zones denses en modèles
- Les entités individuelles peuvent surcharger cette valeur au runtime via
ModeledEntity.setViewDistanceOverride(int)— voir le guide de l'API
maxInteractionAndAttackDistance
- Défaut :
3 - S'applique aux entités modélisées statiques et dynamiques
- Utilisé par les vérifications d'interaction et de détection de coup runtime
maxInteractionAndAttackDistanceForProps
- Défaut :
6 - S'applique aux entités prop
- Cette valeur est distincte de la distance d'interaction des entités statiques/dynamiques
sendCustomModelsToBedrockClients
- Défaut :
false - Contrôle si FreeMinecraftModels tente d'envoyer des modèles personnalisés aux clients Bedrock
- Si désactivé, les joueurs Bedrock retombent sur l'entité vanilla sous-jacente lorsqu'elle existe (et les déguisements ne s'affichent pas pour eux)
- Si vous l'activez, assurez-vous que votre chaîne resource-pack Bedrock/Geyser/Floodgate est réellement prête pour ces clients
shop_config.yml
La boutique de mobilier optionnelle adossée à Vault vit dans sa propre config afin de pouvoir être activée ou ajustée indépendamment du comportement principal du plugin. La boutique refuse de s'enregistrer si Vault ou un fournisseur d'économie manque.
Clés de haut niveau
| Clé | Défaut | Description |
|---|---|---|
enabled | false | Interrupteur principal pour /fmm shop. La commande ne s'enregistre que lorsque ceci est true et que Vault + un fournisseur d'économie sont tous deux présents |
defaultPrice | 100.0 | Prix écrit dans les fichiers de recette qui ne définissent pas leur propre shopPrice lors du prochain chargement |
menuTitle | &8FMM - Furniture Shop | Titre affiché en haut de l'inventaire de la boutique (supporte les codes de couleur &) |
priceLoreFormat | &7Price: &e{price} | Ligne de lore ajoutée à chaque objet de la boutique montrant son prix. Placeholder : {price} |
clickToBuyLoreFormat | &aClick to purchase | Ligne de lore ajoutée à chaque objet de la boutique invitant à l'achat |
Clés de messages (messages.*)
Toutes les chaînes de message supportent les codes de couleur &.
| Clé | Défaut | Placeholders |
|---|---|---|
messages.purchaseSuccess | &aPurchased &f{item} &afor &e{price}&a. Balance: &e{balance}&a. | {item}, {price}, {balance} |
messages.insufficientFunds | &cYou need &e{price} &cto buy &f{item}&c. Balance: &e{balance}&c. | {item}, {price}, {balance} |
messages.shopDisabled | &cThe furniture shop is currently unavailable. | aucun |
messages.itemNotForSale | &cThat item is not currently for sale. | {item} |
messages.inventoryFull | &eYour inventory was full; &f{item} &ehas been dropped at your feet. | {item} |
Champs de boutique par recette
Chaque fichier de recette dans plugins/FreeMinecraftModels/recipes/<model_id>.yml reçoit deux champs supplémentaires :
| Champ | Défaut | Description |
|---|---|---|
shopEnabled | true | Indique si cette recette est visible dans /fmm shop. Les recettes avec shopEnabled: false sont toujours craftables mais jamais listées à l'achat |
shopPrice | defaultPrice depuis shop_config.yml | Coût en monnaie Vault pour cet objet spécifique |
L'éditeur de recettes (/fmm craftify) écrit ces deux champs à l'enregistrement, donc ajuster le prix se fait par une simple édition de texte.
Permissions
Enregistrées dans plugin.yml
| Permission | Défaut | Description |
|---|---|---|
freeminecraftmodels.* | op | Wildcard accordant admin + permissions de déguisement self/others |
freeminecraftmodels.admin | op | Accès aux commandes admin telles que /fmm admin, /fmm giveitem, et /fmm location |
freeminecraftmodels.disguise.self | op | Autorise /fmm disguise / /fmm undisguise sur l'expéditeur |
freeminecraftmodels.disguise.others | op | Autorise le déguisement/dé-déguisement ciblé plus /fmm disguiselist |
freeminecraftmodels.menu | true | Accès au menu d'objets craftables /fmm |
freeminecraftmodels.shop | true | Accès à /fmm shop |
Appliquées par les commandes (non enregistrées dans plugin.yml)
| Permission | Défaut | Description |
|---|---|---|
freeminecraftmodels.deleteall | op | Accès à /fmm deleteall (vérifié par le gestionnaire de commande au runtime) |
Configuration YML du modèle
Chaque fichier .bbmodel peut avoir un fichier .yml compagnon (même nom, même répertoire) qui contrôle les paramètres spécifiques au modèle. Le format YML unifié supporte les champs suivants :
isEnabled: true
voxelize: true
solidify: true
scripts:
- my_script.lua
material: DIAMOND_SWORD
name: "&bFrost Blade"
lore:
- "&7A sword forged in ice"
- "&7Deals frost damage"
enchantments:
- SHARPNESS,3
- UNBREAKING,2
| Champ | Type | Description |
|---|---|---|
isEnabled | boolean | Indique si le modèle est chargé (défaut : true) |
scripts | liste de chaînes | Noms de fichiers de scripts Lua à attacher (depuis plugins/FreeMinecraftModels/scripts/) |
voxelize | boolean | Lorsque true, le prop s'aligne sur des incréments de rotation de 90 degrés et s'aligne sur la grille de blocs au placement. L'empreinte est calculée à partir des dimensions de hitbox du modèle (arrondies à des blocs entiers). Le placement vérifie que tous les blocs de l'empreinte sont non solides. |
solidify | boolean | Lorsque true (nécessite voxelize: true), des blocs barrières uniquement par paquets sont placés dans chaque bloc de l'empreinte du prop, lui donnant une collision côté client. Ces barrières sont invisibles et n'existent que dans les paquets — elles ne sont pas placées dans le monde. Les barrières sont automatiquement retirées lorsque le prop est ramassé ou détruit. |
material | string | Un nom de matériau Bukkit (par ex. DIAMOND_SWORD, PAPER). Lorsqu'il est défini, le modèle devient un objet personnalisé que les joueurs peuvent tenir et équiper |
name | string | Nom d'affichage de l'objet personnalisé (supporte les codes de couleur &) |
lore | liste de chaînes | Lignes de lore pour l'objet personnalisé (supporte les codes de couleur &) |
enchantments | liste de chaînes | Enchantements au format ENCHANTMENT_NAME,LEVEL (par ex. SHARPNESS,3) |
Lorsque material est défini, le modèle est enregistré comme un objet personnalisé. Les joueurs peuvent le recevoir via /fmm giveitem, le fabriquer si une recette est configurée, et il obtient l'accès aux 22 hooks Lua d'objet.
Notes opérationnelles
/fmm reloadré-importe le contenu et régénère le pack de sortie, donc les changements de configuration qui affectent le comportement de rendu sont plus simples à valider après un reload. UnFmmReloadedEventest dispatché à chaque reload afin que les plugins dépendants puissent ré-attacher leurs modèles.- FreeMinecraftModels ne fait que générer le resource pack ; il ne l'héberge pas de lui-même.
- ResourcePackManager reste le chemin de livraison recommandé pour les clients Java et le chemin documenté le plus sûr pour les configurations mixtes.
- WorldGuard, WorldEdit, GriefPrevention et Vault sont déclarés
softdependdansplugin.yml— aucun d'eux n'est requis pour démarrer le plugin, mais ils débloquent des fonctionnalités spécifiques lorsqu'ils sont présents (prédicats Lua conscients de la protection et boutique de mobilier).
Quand modifier ces valeurs
Utilisez cette config pour ajuster le comportement runtime, pas pour la gestion des packs de contenu.
- Utilisez
/fmm initialize,/fmm setup,/fmm downloadallet/fmm updatecontentpour le cycle de vie des packs officiels - Utilisez le dossier
importspour l'import manuel de.bbmodelou d'autres contenus locaux - Utilisez
config.ymllorsque vous devez ajuster le mode de rendu, la distance de visibilité, la distance d'interaction ou le comportement Bedrock - Utilisez
shop_config.yml(et les champs par recetteshopEnabled/shopPrice) pour ajuster la boutique de mobilier sans toucher au code
Limitations connues
- Le comportement Bedrock dépend à la fois de
sendCustomModelsToBedrockClientset de votre configuration Floodgate/Geyser/resource pack plus large, donc restez prudent dans vos affirmations à moins d'avoir testé votre stack exacte. - La boutique se désactive silencieusement si Vault ou un fournisseur d'économie manque. Utilisez
/fmm versionet vérifiez la console au démarrage si/fmm shopest inexplicablement absent.