Aller au contenu principal

FreeMinecraftModels

FreeMinecraftModels est à la fois un moteur de modèles personnalisés et une API destinée aux développeurs.

Le plugin propose :

  • une configuration initiale et un rappel à la connexion jusqu'à ce qu'elle soit marquée comme terminée
  • un menu utilisant Nightbreak pour installer et mettre à jour les packs de modèles officiels
  • un dossier de resource pack généré dans plugins/FreeMinecraftModels/output/FreeMinecraftModels
  • une archive ZIP du pack dans plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip
  • davantage de commandes pour la configuration, les mises à jour de contenu, l'apparition des modèles, les déguisements, les props et le débogage
  • os de points de monture — les os dont le nom commence par m_ créent des points d'assise montables sur un modèle, permettant aux joueurs de chevaucher des entités personnalisées
  • JSON de modèle d'affichage personnalisé — placez un fichier .json voisin (export display-item de Blockbench) à côté d'un .bbmodel pour remplacer l'apparence de l'objet en jeu (nécessite 1.21.4+)
  • objets personnalisés et armes magiques : modèles tenus en main avec des enchantements utilisant des espaces de noms, ainsi que des baguettes et des bâtons définis par les créateurs
  • particules Blockbench — les images clés de particules des animations d'un modèle sont jouées sur les entités personnalisées, les props et les objets tenus, pour les joueurs Java comme Bedrock. Voir Particules
  • navigateur de contenu admin (/fmm admin) — un menu regroupant les modèles chargés et les objets personnalisés correctement enregistrés par pack activé ou dossier
  • menu d'objets craftables pour les joueurs (/fmm) — affiche les recettes de props enregistrées avec leur grille 3x3 et leur résultat ; les entrées sans recette enregistrée n'y figurent pas
  • système de déguisement des joueurs — /fmm disguise <model> [player], /fmm undisguise [player], /fmm disguiselist, avec une DisguiseAPI publique pour les plugins tiers
  • boutique de mobilier — /fmm shop optionnel utilisant Vault pour vendre les objets en papier servant à placer les props, configuré par recette via shopEnabled / shopPrice ; les entrées valides peuvent rester disponibles lorsque l'enregistrement des recettes est désactivé
  • API d'interface joueur : les scripts Lua peuvent afficher des barres de boss, des barres d'action et des titres aux joueurs
  • LocationAPI — les plugins tiers peuvent enregistrer des détecteurs de donjon et des fournisseurs de protection qui alimentent les prédicats Lua em.location.is_in_dungeon et em.location.is_protected de FMM ainsi que la vérification de placement de props en région protégée
  • changelogs en jeu — les admins reçoivent un rappel à la connexion lorsqu'il existe des notes de version FreeMinecraftModels non lues, et peuvent les consulter avec /freeminecraftmodelschangelog
  • réparation de contenu — /fmm forcereinstallcontent <package|all> re-télécharge un contenu nominalement à jour, pour les cas où les fichiers d'un pack sont endommagés ou manquants
  • mises à jour du plugin sans redémarrage : /fmm applypluginupdate ou le réglage nightbreak.applyPluginUpdatesWithoutRestart installent un jar de plugin téléchargé pendant que le serveur tourne. Voir Configuration
  • mode filmique : /fmm filmic on|off ou filmicMode envoie à chaque joueur tous les modèles chargés dans ses chunks chargés, même hors de vue, pour les enregistrements ReplayMod. Voir Configuration

FreeMinecraftModels déclare api-version: 1.21.4, donc Minecraft 1.21.4 est la version de serveur minimale prise en charge.

Commencez ici​

Scripts Lua​

FreeMinecraftModels permet de créer des scripts Lua pour les props avec le moteur de scripts MagmaCore 2.0. Les scripts se trouvent dans plugins/FreeMinecraftModels/scripts/.

Hooks actifs des props (8)​

Les scripts de prop peuvent répondre aux hooks suivants :

HookDéclencheur
on_spawnLe prop apparaît dans le monde, ou se charge de nouveau avec son chunk
on_game_tickÀ chaque tick de jeu tant que le prop est vivant
on_zone_enterUn joueur entre dans une zone surveillée créée par script
on_zone_leaveUn joueur quitte une zone surveillée créée par script
on_destroyLe prop est retiré définitivement (pas lors d'un déchargement de chunk ni d'un rechargement)
on_left_clickUn joueur clique gauche sur le prop
on_right_clickUn joueur clique droit sur le prop
on_projectile_hitUn projectile touche le prop

Les scripts de prop reçoivent une table context.prop avec des champs comme model_id et current_location, et des méthodes comme play_animation(name) et stop_animation().

Effets des objets​

Les anciens scripts Lua d'objets équipés ont été retirés. Les objets tenus utilisent désormais des enchantements définis par les créateurs, et les baguettes et bâtons utilisent des définitions d'armes magiques. N'ajoutez pas scripts: à la définition d'un objet tenu.

Notes actuelles​

  • Packs officiels gérés par Nightbreak intégrés au plugin : Basic Furniture Pack, BetterStructures Prop Pack, EliteMobs Prop Pack, Craftenmine's Weapons Item Pack et Craftenmine Tools Item Pack.
  • Une initialisation complète réussie reconstruit le resource pack et programme FmmReloadedEvent 40 ticks plus tard pour que les plugins dépendants puissent rattacher leurs modèles. Une recharge rejetée pendant la préparation conserve le système actif.
  • ResourcePackManager peut distribuer automatiquement le pack généré. Vérifiez les fichiers produits et leur acceptation réelle par le client ; une configuration marquée comme terminée ou un badge de pack installé ne prouve pas sa livraison.