fast_crafting
Fast Crafting - action entry.
Entry Information
| Property | Value |
|---|---|
| Entry ID | fast_crafting |
| Type | Action |
| Color | Yellow |
| Icon | material-symbols:add-row-above |
Description
This action opens a server-authoritative fast crafting menu through the GuiAndDialogs API. Existing pages keep the legacy layoutPool/recipeGrid mode while integratedMenu.enabled opts into the one-inventory Crafting/Recipes menu. The integrated menu does not open a nested workbench, add a close button or place catalogue recipes into the matrix.
Legacy button markers are open_grid, refresh, page_prev, page_next, craft_amount and close. They remain available only for legacy layouts; integrated navigation is rendered by the menu itself.
Fields
| Field | Type | Description |
|---|---|---|
inventoryTitle | Var<String> | Title of the inventory. |
inventoryRows | Int | Number of rows (1-6). |
guiType | GuiType | GUI type to use. |
layoutPool | List<LayoutData> | Static decorations and button markers. |
mainLayoutId | String? | ID of the main layout to display from the pool. |
recipeGrid | RecipeGridConfig | Position and dimensions of the dynamic recipe grid. |
classicCrafting | ClassicCraftingConfig | Optional temporary 3x3 crafting matrix and output position. |
craftAmountButton | CraftAmountButtonConfig | Craft quantity selector. |
integratedMenu | IntegratedMenuConfig | Single-inventory tabs, quick-craft row, categories, counters, search, sort, filters and pagination. |
dropWhenInventoryFull | Boolean | Drop crafted-result overflow. |
autoRefreshTicks | Int | Re-render interval in ticks (0 disables it). |
allowShiftCraftAll | Boolean | Allow shift-click bulk crafting. |
fastCraftPermission | String | Permission required to use the GUI. |
recipeNamespace | String | Recipe namespace filter; blank means all namespaces. |
disableVanillaRecipes | Boolean | Exclude minecraft: recipes. |
useMMOItemsRecipes | Boolean | Add MMOItems station recipes when available. |
craftCooldownTicks | Int | Cooldown between crafts in ticks. |
audio | GuiAudioData | GUI audio configuration. |
IntegratedMenuConfig
| Field | Type | Default | Description |
|---|---|---|---|
enabled | Boolean | false | Enable the one-inventory menu. |
quickCraftPermission | String | fastcrafting.quickcraft | Permission required to display row 2 quick crafting. Blank means visible to everyone. |
defaultTab | IntegratedTab | CRAFTING | Initial tab. |
defaultSort | IntegratedSort | AVAILABLE_FIRST | Availability-first or alphabetical ordering. |
defaultFilter | IntegratedFilter | ALL | Show all, available or missing recipes. |
quickRecipesPerPage | Int | 8 | Quick-craft items visible on row 2. |
recipesPerPage | Int | 27 | Catalogue items visible on rows 3-5. |
categoryIds | List<String> | Custom: 9 RPGCORE IDs; public: crafting | Categories shown on the Recipes tab. |
searchEnabled | Boolean | true | Enable Paper Dialog recipe search. |
Runtime contract
The public artifact targets Java 21 bytecode and official Typewriter/Paper/GuiAndDialogs. The BTC custom artifact targets Java 25 and integrates with BTC Core/RPGCORE profession metadata and BtcCraftingRegistry. Craft commands are scoped to the active menu session; no global Bukkit command is registered. Inventory changes invalidate the per-player recipe projection. Classic-grid inputs are session memory and are always returned safely when the menu closes.