Saltar al contenido principal

Fast Crafting

Fast Crafting

Action entry that opens a fast crafting menu using the GUI extension. Legacy layouts may still use [layoutPool] with buttonType markers for dynamic slots. The integrated menu does not use those legacy open/close controls: it owns one inventory and exposes only its Crafting/Recipes tabs and manual matrix. Legacy recipe slots are generated from [recipeGrid] and injected via [FastCraftingRecipeLayout]. Integrated recipe slots are rendered by [FastCraftingIntegratedLayout] and craft directly on click.

Campos

CampoTipoPredeterminadoDescripción
inventoryTitleVar<String>Fast CraftingTitle of the inventory.PlaceholdersColores
inventoryRowsInt6Number of rows (1-6).
guiTypeGuiTypeCUSTOMGUI type to use (CUSTOM is recommended).
layoutPoolList<LayoutData>emptyPool of layout definitions for static decorations and button markers.
mainLayoutIdString?—ID of the main layout to display from the pool.
replaceCraftingTableBooleanfalseOuvrir ce menu a la place de la table de craft vanilla
replaceCraftingTablePermissionString—Permission exigee pour ce remplacement. Vide = tout le monde
recipeGridRecipeGridConfig—Configuration of the recipe suggestion grid.
RecipeGridConfig (4)
CampoTipoPredeterminadoDescripción
columnInt0Starting column (X position) of the recipe grid.
rowInt0Starting row (Y position) of the recipe grid.
widthInt7Number of columns in the recipe grid.
heightInt5Number of rows in the recipe grid.
classicCraftingClassicCraftingConfig—Configuration of the classic 3x3 crafting area (optional).
ClassicCraftingConfig (5)
CampoTipoPredeterminadoDescripción
enabledBooleanfalseEnable the classic 3x3 crafting grid inside the menu.
rowInt2Starting row (Y position) of the 3x3 grid.
columnInt3Starting column (X position) of the 3x3 grid.
outputRowInt3Row of the output slot.
outputColumnInt7Column of the output slot.
craftAmountButtonCraftAmountButtonConfig—Configuration of the craft quantity selector.
CraftAmountButtonConfig (4)
CampoTipoPredeterminadoDescripción
enabledBooleantrueAllow cycling craft amounts.
includeAutoBooleantrueInclude an 'Auto' option that crafts 1 optimal batch.
valuesList<Int>—Available craft amounts (number of final items).
defaultIndexInt0Default index in the values list.
selectionInfoSelectionInfoConfig—Texts and icon of the SELECTION_INFO button (legacy layouts): the recipe the player picked with a right click or crafted last.
SelectionInfoConfig (6)
CampoTipoPredeterminadoDescripción
emptyIconMaterialPAPERIcon shown while no recipe is selected.
emptyTitleString<gray>Aucune recette sélectionnée</gray>Name shown while no recipe is selected. MiniMessage and placeholders accepted.
emptyLoreList<String>—Lore shown while no recipe is selected.
titleString<gold>{name}</gold>Name of the selected recipe's icon. Keys: {name}, {result_amount}, {max_crafts}, {recipe_id}, {profession}.
loreList<String>—Lore of the selected recipe. A line reduced to {ingredients} expands to one line per ingredient.
ingredientLineString<gray>- {amount} x <white>{ingredient}</white></gray>Template of one ingredient line. Keys: {amount}, {ingredient}.
integratedMenuIntegratedMenuConfig—Integrated one-inventory menu configuration: crafting tab, recipe categories and pagination.
IntegratedMenuConfig (9)
CampoTipoPredeterminadoDescripción
enabledBooleanfalseEnable the integrated single-inventory menu. Disable to keep the legacy recipe grid.
quickCraftPermissionStringfastcrafting.quickcraftPermission required to display the quick-crafting row. Blank hides the restriction.
defaultTabIntegratedTabCRAFTINGTab shown when the menu opens.Valores:CRAFTINGRECIPES
defaultSortIntegratedSortAVAILABLE_FIRSTDefault recipe ordering in the catalogue.Valores:AVAILABLE_FIRSTALPHABETICAL
defaultFilterIntegratedFilterALLDefault recipe filter in the catalogue.Valores:ALLAVAILABLEMISSING
quickRecipesPerPageInt8Number of quick-craft items shown on the second row.
recipesPerPageInt27Number of catalogue recipes shown on pages 3 to 5.
categoryIdsList<String>—RPGCORE profession ids displayed as the nine catalogue categories.
searchEnabledBooleantrueEnable the Paper search dialog in the recipe catalogue.
dropWhenInventoryFullBooleantrueDrop crafted items on the ground when the player's inventory is full.
autoRefreshTicksInt0Auto-refresh recipes every N ticks (0 = disabled).
allowShiftCraftAllBooleantrueAllow shift-click to craft the maximum amount.
fastCraftPermissionString—Permission required to use fast crafting (blank = no permission required).
recipeNamespaceString—Filter recipes by namespace (e.g. 'custom' for BTC recipes only). Blank = all recipes.
disableVanillaRecipesBooleanfalseDisable all vanilla (minecraft:) recipes.
useMMOItemsRecipesBooleanfalseUse MMOItems station recipes instead of vanilla recipes.
craftCooldownTicksInt0Cooldown between crafts in ticks (0 = no cooldown).
audioGuiAudioData—Audio configuration for the GUI.
Campos comunes de TypeWriter (criteria, modifiers, triggers)
CampoTipoPredeterminadoDescripción
criteriaList<Criteria>empty—
modifiersList<Modifier>empty—
triggersList<Ref<TriggerableEntry>>empty—

How to use it​

The entry has two modes, chosen by integratedMenu.enabled:

  • Integrated menu (on) — one 54-slot inventory with a Crafting and a Recipes tab. defaultTab, defaultSort and defaultFilter set what the player sees first, quickRecipesPerPage and recipesPerPage size the lists, categoryIds picks the profession categories (RPG Core profession ids), and searchEnabled turns the search dialog on. quickCraftPermission hides the quick-craft row from players without it; empty shows it to everyone.
  • Legacy layout (off, default) — the menu is built from layoutPool and mainLayoutId, with recipeGrid (column, row, width, height) placing the recipes. Place items tagged fastcraft_button:<TYPE> in the layout, with OPEN_GRID, REFRESH, PAGE_PREV, PAGE_NEXT, CRAFT_AMOUNT, SELECTION_INFO and CLOSE. On a recipe, left click crafts, shift + left click crafts the maximum and right click selects it. A SELECTION_INFO button shows the selected recipe: the one picked with a right click, or the last one crafted. Until a recipe is selected it shows emptyIcon, emptyTitle and emptyLore. Its texts come from selectionInfo: title and lore for the selected recipe, with the keys {name}, {result_amount}, {max_crafts}, {recipe_id} and {profession}; a lore line that is only {ingredients} becomes one line per ingredient, written with ingredientLine (keys {amount} and {ingredient}). A key that does not exist is left as written. selectionInfo does not apply to the integrated menu.

Fields that apply to both modes:

  • classicCrafting — turns on the manual 3x3 grid. row and column place the grid (columns 0 to 6, rows 0 to 3), and outputRow and outputColumn place the result.
  • craftAmountButton — the selectable quantities in values, with defaultIndex and an Auto option when includeAuto is on.
  • recipeNamespace, disableVanillaRecipes, useMMOItemsRecipes — choose which recipes are listed. Without a namespace, recipes whose result is a CraftEngine or BTC item are hidden.
  • fastCraftPermission — permission to open and use the menu. Empty means everyone.
  • dropWhenInventoryFull, allowShiftCraftAll, craftCooldownTicks, autoRefreshTicks — overflow handling, shift-click crafting, a cooldown between crafts and an automatic refresh of the open menu.
  • replaceCraftingTable and replaceCraftingTablePermission — right-clicking a crafting table opens this menu instead. Sneaking keeps the vanilla table. Only the first entry with the option enabled is used.