Aller au contenu principal

Fast Crafting

Menu d'artisanat côté serveur avec artisanat rapide, catalogue de métiers, recherche et grille 3x3 optionnelle.

Privéesv0.1.1Économie et artisanat
NécessiteTypeWriter0.9BasicRPG CoreGUIMMOItemsfacultatif

Conçue pour le réseau BornToCraft. Cette extension est documentée à titre de référence et n'est pas distribuée.

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​

  1. Installez RPG Core (l'extension RPGBundle), l'extension TypeWriter Basic et l'extension GUI (GuiAndDialogs). Fast Crafting ne se charge pas sans elles.
  2. Facultatif : installez MMOItems si vous voulez ses recettes de stations (useMMOItemsRecipes).
  3. Placez le JAR de Fast Crafting dans plugins/Typewriter/extensions/ et redémarrez le serveur.
  4. Donnez la permission fastcrafting.quickcraft aux joueurs autorisés à voir la ligne de fabrication rapide.

Premiers pas​

Ouvrez le menu intégré depuis une commande :

  1. Dans le panneau web de TypeWriter, ouvrez une page manifest et ajoutez une action Fast Crafting.
  2. Définissez inventoryTitle, laissez inventoryRows à 6, et activez integratedMenu.enabled.
  3. Laissez categoryIds avec les neuf métiers de RPG Core, ou ne gardez que ceux que vous utilisez. Activez classicCrafting.enabled si vous voulez la grille 3x3 manuelle.
  4. Si vous ne voulez que vos propres recettes, définissez recipeNamespace sur le namespace de vos recettes, par exemple custom.
  5. Ajoutez une entrée de commande personnalisée (par exemple fastcrafting) et placez l'action Fast Crafting dans ses triggers. Des PNJ, des objets et des dialogues peuvent aussi déclencher l'action.
  6. Pour remplacer l'établi vanilla, activez replaceCraftingTable et, si besoin, définissez replaceCraftingTablePermission.
  7. Publiez, donnez-vous quelques ingrédients et exécutez la commande.
Deux dispositions

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.

Le menu intégré comporte six lignes :

LigneOnglet CraftingOnglet Recipes
1Les onglets Crafting et Recipes.Les onglets Crafting et Recipes.
2Recettes 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 à 5La grille 3x3 manuelle, l'emplacement de sortie et le bouton de quantité.Les recettes de la catégorie choisie (recipesPerPage, 27 par défaut).
6Commandes 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ètreRôle
fastCraftPermissionPermission nécessaire pour ouvrir le menu et fabriquer (vide pour tout le monde).
recipeNamespaceNe liste que les recettes de ce namespace.
disableVanillaRecipesMasque les recettes minecraft:.
useMMOItemsRecipesAjoute les recettes de stations MMOItems lorsque MMOItems est activé, et masque les recettes vanilla.
dropWhenInventoryFullFait 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.
craftCooldownTicksCooldown entre deux fabrications en ticks (0 pour aucun).
autoRefreshTicksRafraîchit le menu ouvert tous les N ticks (0 pour aucun).
replaceCraftingTableOuvre ce menu à la place de l'établi vanilla. Les joueurs qui se baissent (furtivité) conservent l'établi vanilla.

Permissions​

PermissionAutorise
fastcrafting.quickcraftAffiche 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 fastCraftPermissionUne permission de votre choix pour ouvrir le menu et fabriquer.
Valeur de replaceCraftingTablePermissionUne 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

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.

Extensions associées​

  • RPG Core — métiers et verrou de niveau des recettes utilisés par le catalogue.
  • GUI — moteur de menus.
  • MMOItems — recettes de stations avec useMMOItemsRecipes.