Fast Crafting
Présentation
Fast Crafting remplace l'établi vanilla par un menu qui liste les recettes qu'un joueur peut réaliser et les fabrique en un clic. Les recettes sont lues dans le catalogue de recettes du serveur, et ce qu'un joueur peut fabriquer est recalculé à partir de son propre inventaire, sur le serveur. Les joueurs choisissent une quantité, ou font Maj + clic pour fabriquer le maximum, et les ingrédients sont prélevés dans leur inventaire.
Le menu intégré utilise un seul inventaire de 54 emplacements avec deux onglets. Crafting comporte une ligne de fabrication rapide des recettes actuellement disponibles et une grille 3x3 manuelle. Recipes est un catalogue trié selon les métiers de RPG Core (combat, minage, agriculture, artisanat, etc.), avec des compteurs de recettes disponibles et totales, des filtres, un tri et une boîte de dialogue de recherche. Cliquer sur une recette du catalogue la fabrique immédiatement ; une recette n'est jamais placée à votre place dans la grille.
L'extension fonctionne sur la version BTC de TypeWriter (BTC Core, Paper/Folia) et est documentée ici à titre de référence. Elle lit les métadonnées des recettes depuis RPG Core et leur applique son verrou de niveau.
Fonctionnalités
- Fabrication en un clic — cliquez sur une recette pour fabriquer la quantité sélectionnée (1, 4, 8, 16, 32, 64 par défaut, ou auto), Maj + clic pour le maximum.
- Ligne de fabrication rapide — affiche les recettes disponibles, uniquement pour les joueurs possédant une permission.
- Catalogue par métier — neuf catégories avec des compteurs
available / total, d'après le métier RPG Core de chaque recette. - Recherche, tri et filtre — une recherche par boîte de dialogue Paper sur le nom, l'identifiant et le métier, un tri alphabétique ou par disponibilité, et des filtres toutes, disponibles ou manquantes.
- Grille 3x3 manuelle — une grille facultative avec un emplacement de sortie, où le joueur place les ingrédients à la main ; les objets restants lui sont rendus à la fermeture du menu.
- Remplacement de l'établi — un clic droit sur un établi peut ouvrir ce menu à la place.
- Sources de recettes — recettes vanilla, un seul namespace tel que
custom, ou recettes de stations MMOItems. - Verrou de niveau — le verrou de niveau des recettes de RPG Core est appliqué, et d'autres plugins peuvent refuser une fabrication via un événement.
- Résultats sûrs — le surplus tombe aux pieds du joueur ou bloque la fabrication, et un cooldown facultatif limite le spam.
Installation
- Installez RPG Core (l'extension
RPGBundle), l'extension TypeWriter Basic et l'extension GUI (GuiAndDialogs). Fast Crafting ne se charge pas sans elles. - Facultatif : installez MMOItems si vous voulez ses recettes de stations (
useMMOItemsRecipes). - Placez le JAR de Fast Crafting dans
plugins/Typewriter/extensions/et redémarrez le serveur. - Donnez la permission
fastcrafting.quickcraftaux joueurs autorisés à voir la ligne de fabrication rapide.
Premiers pas
Ouvrez le menu intégré depuis une commande :
- Dans le panneau web de TypeWriter, ouvrez une page manifest et ajoutez une action Fast Crafting.
- Définissez
inventoryTitle, laissezinventoryRowsà6, et activezintegratedMenu.enabled. - Laissez
categoryIdsavec les neuf métiers de RPG Core, ou ne gardez que ceux que vous utilisez. ActivezclassicCrafting.enabledsi vous voulez la grille 3x3 manuelle. - Si vous ne voulez que vos propres recettes, définissez
recipeNamespacesur le namespace de vos recettes, par exemplecustom. - Ajoutez une entrée de commande personnalisée (par exemple
fastcrafting) et placez l'action Fast Crafting dans sestriggers. Des PNJ, des objets et des dialogues peuvent aussi déclencher l'action. - Pour remplacer l'établi vanilla, activez
replaceCraftingTableet, si besoin, définissezreplaceCraftingTablePermission. - Publiez, donnez-vous quelques ingrédients et exécutez la commande.
Lorsque integratedMenu.enabled est désactivé (valeur par défaut), l'action ouvre l'ancienne disposition construite à partir de layoutPool, recipeGrid et des marqueurs fastcraft_button:. Activez-le pour obtenir le menu à inventaire unique décrit ici. Le menu intégré ignore les anciens boutons d'ouverture et de fermeture ainsi que le bouton SELECTION_INFO.
Dans l'ancienne disposition, les marqueurs sont OPEN_GRID, REFRESH, PAGE_PREV, PAGE_NEXT, CRAFT_AMOUNT, SELECTION_INFO et CLOSE. Un clic gauche sur une recette la fabrique, Maj + clic gauche fabrique le maximum et un clic droit la sélectionne. SELECTION_INFO affiche la recette sélectionnée par un clic droit (ou fabriquée en dernier), avec des textes tirés du champ selectionInfo : nom, quantité obtenue, nombre de fabrications possibles et une ligne par ingrédient. Voir Fast Crafting pour les clés.
Fonctionnement
Le catalogue est construit une fois par configuration d'entrée à partir des recettes Bukkit : uniquement les recettes de fabrication, filtrées par recipeNamespace et disableVanillaRecipes. Le métier de chaque recette provient de RPG Core, et les recettes sans métier vont dans crafting. Ce qui est fabricable est recalculé à partir de l'inventaire du joueur, qui est rafraîchi lorsqu'il déplace, ramasse, jette ou consomme des objets.
Les résultats qui sont des objets vanilla sont convertis en leurs équivalents BTC lorsque RPG Core en propose un remplacement. Sans recipeNamespace, les recettes dont le résultat est un objet CraftEngine ou BTC sont masquées dans le catalogue ; définissez donc recipeNamespace (par exemple custom) pour lister vos recettes personnalisées.
Menus
Le menu intégré comporte six lignes :
| Ligne | Onglet Crafting | Onglet Recipes |
|---|---|---|
| 1 | Les onglets Crafting et Recipes. | Les onglets Crafting et Recipes. |
| 2 | Recettes de fabrication rapide (jusqu'à quickRecipesPerPage, masquées sans la permission de fabrication rapide), avec pagination. | Les catégories de métiers avec leurs compteurs available / total. |
| 3 à 5 | La grille 3x3 manuelle, l'emplacement de sortie et le bouton de quantité. | Les recettes de la catégorie choisie (recipesPerPage, 27 par défaut). |
| 6 | Commandes du menu. | Commandes de recherche, de tri, de filtre et de pagination. |
Un clic gauche sur une recette fabrique la quantité sélectionnée. Un Maj + clic fabrique le maximum lorsque allowShiftCraftAll est activé. Le bouton de quantité parcourt craftAmountButton.values, avec une option Auto lorsque includeAuto est activé. La boîte de dialogue de recherche porte sur le nom, l'identifiant et le métier de la recette. Le tri par défaut est defaultSort (AVAILABLE_FIRST ou ALPHABETICAL) et le filtre par défaut est defaultFilter (ALL, AVAILABLE ou MISSING). Les textes du menu sont en français.
La grille manuelle se place avec classicCrafting. Les joueurs y déposent des objets à la main, et le résultat est fabriqué lorsqu'ils cliquent sur l'emplacement de sortie, avec Maj + clic pour le maximum. Les objets laissés dans la grille retournent dans leur inventaire à la fermeture du menu.
Configuration
Tout se règle dans l'entrée Fast Crafting. Les principaux paramètres qui ne concernent pas la disposition :
| Paramètre | Rôle |
|---|---|
fastCraftPermission | Permission nécessaire pour ouvrir le menu et fabriquer (vide pour tout le monde). |
recipeNamespace | Ne liste que les recettes de ce namespace. |
disableVanillaRecipes | Masque les recettes minecraft:. |
useMMOItemsRecipes | Ajoute les recettes de stations MMOItems lorsque MMOItems est activé, et masque les recettes vanilla. |
dropWhenInventoryFull | Fait tomber le résultat aux pieds du joueur lorsque l'inventaire est plein. Désactivé, la fabrication est refusée lorsque le résultat ne tient pas. |
craftCooldownTicks | Cooldown entre deux fabrications en ticks (0 pour aucun). |
autoRefreshTicks | Rafraîchit le menu ouvert tous les N ticks (0 pour aucun). |
replaceCraftingTable | Ouvre ce menu à la place de l'établi vanilla. Les joueurs qui se baissent (furtivité) conservent l'établi vanilla. |
Permissions
| Permission | Autorise |
|---|---|
fastcrafting.quickcraft | Affiche la ligne de fabrication rapide du menu intégré. Le nom est la valeur par défaut de integratedMenu.quickCraftPermission ; laissez-le vide pour afficher la ligne à tout le monde. |
Valeur de fastCraftPermission | Une permission de votre choix pour ouvrir le menu et fabriquer. |
Valeur de replaceCraftingTablePermission | Une permission de votre choix pour obtenir le menu en utilisant un établi. |
L'extension n'a pas de commande propre ni de placeholders. Les clics de menu utilisent un canal interne fastcraft: lié au menu ouvert du joueur et qui ne peut pas être saisi.
Entrées
1 entrées, générées depuis la source de l'extension.
Actions1
- Fast CraftingFast Crafting
Dépannage
Le menu est l'ancienne disposition. integratedMenu.enabled est désactivé, ce qui est la valeur par défaut. Activez-le pour obtenir les onglets, le catalogue et la ligne de fabrication rapide.
Le catalogue est vide. Vérifiez recipeNamespace : seules les recettes de ce namespace sont listées. Sans namespace, les recettes dont le résultat est un objet CraftEngine ou BTC sont masquées. Avec disableVanillaRecipes ou useMMOItemsRecipes, les recettes minecraft: sont retirées.
La ligne de fabrication rapide est absente. Le joueur n'a pas la permission de fabrication rapide (fastcrafting.quickcraft par défaut). Videz le champ pour afficher la ligne à tout le monde.
Une recette est grisée ou refuse de se fabriquer. Le joueur peut manquer d'ingrédients, avoir un niveau RPG Core inférieur à celui de la recette (le message apparaît dans l'action bar), ou un autre plugin peut avoir annulé la fabrication. La fabrication est aussi refusée tant que le cooldown court, et lorsque le résultat ne tient pas et que dropWhenInventoryFull est désactivé.
Une recette est dans la mauvaise catégorie. La catégorie provient du métier enregistré dans RPG Core pour la clé de la recette. Les recettes sans métier vont dans crafting. Une catégorie de categoryIds que RPG Core ne définit pas s'affiche quand même, avec un nom et une icône génériques.
L'établi vanilla n'est pas remplacé. replaceCraftingTable doit être activé, le joueur doit posséder replaceCraftingTablePermission s'il est défini, et les joueurs qui se baissent (furtivité) conservent l'établi vanilla. La première entrée dont l'option est activée est utilisée.
Le bouton de recherche ne fait rien. integratedMenu.searchEnabled doit être activé. La recherche ouvre une boîte de dialogue Paper : il faut donc un serveur qui prend en charge les dialogues Paper.