Aller au contenu principal

Packs de contenu FreeMinecraftModels

Le contenu FMM officiel est désormais exposé en tant que packs Nightbreak gérés.

Packs officiels actuels

Le plugin actuel définit cinq packs officiels prêts à l'emploi, mêlant contenu prop et objet :

PackTypeNom du fichier de configNom de dossierSlug Nightbreak
Basic Furniture PackPropsbasic_furniture_packBasic Furniture Packbasic-furniture-pack
BetterStructures Prop PackPropsbetterstructures_prop_packbs prop packbetterstructures-prop-pack
EliteMobs Prop PackPropselitemobs_prop_packem_dungeon_prop_packelitemobs-prop-pack
Craftenmine's Weapons Item PackObjets personnaliséscraftenmines_weapons_item_packfmm_craftenmine_weapons_items_packcraftenmines-weapons-item-pack
Craftenmine Tools Item PackObjets personnaliséscraftenmine_tools_item_packfmm_craftenmine_tools_items_packcraftenmine-tools-item-pack

Le nom du fichier de config est l'entrée .yml sous plugins/FreeMinecraftModels/content_packages/. Le nom de dossier est le répertoire dans lequel les modèles du pack se trouvent réellement à l'intérieur de models/ ou models_disabled/, et sert aussi de préfixe par défaut aux fichiers de contenu et de script.

Chaque pack a un nom de dossier local, un slug Nightbreak, un champ de version, et un état activé/désactivé dans content_packages. Les deux packs d'objets Craftenmine fournissent des objets personnalisés (modèles avec material: défini) qui fonctionnent avec la surface complète des scripts Lua d'objet.

Ce que gère le menu d'installation

/fmm setup est la source de vérité actuelle pour l'état des packs. Le menu peut distinguer entre :

  • les packs installés
  • les packs téléchargés mais actuellement désactivés
  • les packs obsolètes
  • les packs qui nécessitent un accès Nightbreak

Le menu d'installation déclenche également des rafraîchissements en arrière-plan pour les versions de pack et les vérifications d'accès, donc le menu est le bon endroit pour vérifier l'état actuel des packs.

Comportement des dossiers

Le plugin utilise des déplacements de dossier basés sur l'état du pack pour le contenu activé et désactivé :

  • les dossiers de modèles activés vivent dans models/<folderName>
  • les dossiers de modèles désactivés vivent dans models_disabled/<folderName>
  • les fichiers de scripts activés vivent dans scripts/
  • les fichiers de scripts désactivés vivent dans scripts_disabled/

Cela signifie qu'un pack peut être entièrement téléchargé sur disque sans être actif dans la liste de modèles runtime. Lorsqu'un pack est installé ou désinstallé, son dossier de modèles et tous les fichiers de scripts correspondants sont déplacés ensemble.

Préfixes de fichiers

Chaque config de pack de contenu a un champ contentFilePrefixes et un champ scriptFilePrefixes (les deux par défaut au folderName du pack). Les fichiers de contenu dont les noms commencent par l'un des contentFilePrefixes et les fichiers de script dans le dossier scripts/ dont les noms commencent par l'un des scriptFilePrefixes sont considérés comme faisant partie du pack et sont déplacés avec lui lors de l'installation/désinstallation.

Cycle de vie de téléchargement et d'installation

Il y a deux étapes distinctes :

  1. Téléchargez le contenu du pack. Les téléchargements vont dans plugins/FreeMinecraftModels/imports puis déclenchent une passe de reload/import.
  2. Maintenez le pack activé ou désactivé. Le menu d'installation installe et désinstalle les packs en déplaçant leurs dossiers entre models et models_disabled.

Les opérations en masse suivent le même modèle :

  • /fmm downloadall télécharge la mise à jour du jar du plugin puis chaque pack accessible manquant ou obsolète. Le contenu peut être appliqué par le rechargement de suivi de FMM ; le jar du plugin lui-même nécessite toujours un redémarrage du serveur
  • /fmm downloadallcontent effectue le même balayage de contenu sans la mise à jour du jar du plugin
  • /fmm updatecontent (alias /fmm updateallcontent) met à jour uniquement les packs obsolètes

Ces trois balayages de contenu en masse rechargent FreeMinecraftModels automatiquement après les téléchargements réussis afin que le contenu nouvellement téléchargé devienne disponible. Le rechargement ne se déclenche que si au moins un pack a effectivement été téléchargé — une exécution qui ne trouve rien à faire signale No new content to download! et saute le rechargement.

Les opérations en masse sont protégées contre les exécutions simultanées : tant que l'une est en cours, une seconde commande en masse est refusée plutôt que lancée en parallèle. Elles nécessitent également un token Nightbreak lié et s'interrompent tôt en cas d'échec d'authentification.

Réparer un pack

Les commandes de téléchargement habituelles comparent les numéros de version : un pack dont les fichiers ont été corrompus ou partiellement supprimés paraît donc toujours « à jour » et est ignoré. /fmm forcereinstallcontent <package|all> existe pour ce cas : elle re-télécharge le contenu sélectionné quelle que soit la version, puis recharge.

  • L'autocomplétion propose all ainsi que le slug Nightbreak de chaque pack (basic-furniture-pack, betterstructures-prop-pack, elitemobs-prop-pack, craftenmines-weapons-item-pack, craftenmine-tools-item-pack).
  • all ne couvre que les packs que FMM détecte comme téléchargés. Si les fichiers d'un pack sont entièrement absents, elle signale No downloaded content was detected. Specify a package slug directly if its files are completely missing. — indiquez le slug à la place.
  • Un sélecteur inconnu signale Unknown Nightbreak content package: <name>.
  • Elle partage la même protection contre les exécutions simultanées que les autres opérations en masse, et nécessite freeminecraftmodels.*.

/fmm admin ouvre une GUI d'inventaire en jeu qui permet aux admins de parcourir tout le contenu installé en un coup d'œil. Le navigateur affiche :

  • tous les packs installés (avec des comptes séparés pour les props et les objets)
  • les dossiers de modèles non packagés (avec des comptes séparés pour les props et les objets)
  • les props individuels (modèles sans material: dans leur config YML)
  • les objets personnalisés (modèles ayant material: défini dans leur config YML)

Les props et les objets sont affichés de manière distincte : les props utilisent un style jaune et une icône de papier, tandis que les objets personnalisés utilisent un style violet et affichent leur matériau configuré. Un modèle qui a material: défini dans sa config YML apparaît uniquement comme objet personnalisé, jamais comme à la fois prop et objet.

Cliquer sur n'importe quelle entrée du navigateur admin donne au joueur une copie de cet objet. Pour les objets personnalisés, l'objet donné inclut le matériau configuré, les enchantements, le lore et le tag PDC fmm_item_id. C'est la méthode la plus rapide pour obtenir des props, objets personnalisés ou objets de modèle pour les tests et la construction sans avoir besoin de connaître l'ID exact du modèle ou la syntaxe de commande.