Saltar al contenido principal

Fast Crafting

The FastCrafting Extension provides a Typewriter crafting interface backed by the GuiAndDialogs API. Recipe definitions are catalogued once per entry configuration, while craft availability is recalculated from each player's server-side inventory. Validation and item mutation remain server-authoritative.

Features

  • Optimized recipe catalog - Recipe definitions are cached per entry configuration; inventory-dependent craft limits are calculated per player.
  • Integrated one-inventory menu - Optional Crafting and Recipes tabs, without nested menus, a close button or an external vanilla workbench.
  • Quick crafting - A permission-gated second row exposes currently available recipes; the permission row is hidden completely when the player lacks the configured permission.
  • Recipe catalogue controls - Nine BTC/RPGCORE profession categories, available/total counters, alphabetical or availability sorting, all/available/missing filters, Paper Dialog search and dynamic pagination.
  • Direct crafting - Clicking a catalogue or quick-craft recipe crafts immediately using the selected quantity; shift-click crafts the maximum when enabled.
  • Manual classic matrix - The integrated Crafting tab can embed a temporary 3x3 matrix and output slot. The matrix is never populated automatically from a catalogue recipe, and inputs are returned safely when the menu closes.
  • MiniMessage rendering - Integrated labels and lore use MiniMessage; legacy & colour codes are not part of the integrated menu contract.
  • Official/custom split - The public artifact targets Java 21 bytecode and official Typewriter/Paper/GuiAndDialogs. The BTC artifact targets Java 25 and uses the BTC GUI, BTC Core and RPGCORE crafting metadata.

Entries

Quick Start

Trigger the fastcrafting action from commands, NPCs, events, or other Typewriter entries.

integratedMenu.enabled defaults to false to preserve existing legacy pages. When enabled, the entry uses one 54-slot inventory with the following layout:

AreaCrafting tabRecipes tab
Row 1Crafting/Recipes tabsCrafting/Recipes tabs
Row 2Permission-gated quick recipesConfigured recipe categories
Rows 3-5Manual 3x3 matrix, output and quantity controlsRecipes for the selected category
Row 6Refresh and menu controlsSearch, sort, filter and page indicator

Recipe catalogue clicks craft directly. Only manual interaction with the 3x3 input slots can populate the matrix.

Configuration

SettingPurpose
recipeNamespaceRestrict recipes to one namespace.
disableVanillaRecipesExclude minecraft: recipes.
useMMOItemsRecipesAdd MMOItems station recipes when MMOItems is enabled.
dropWhenInventoryFullDrop overflow results; input items are always returned on menu close.
integratedMenuEnable the single-inventory menu, categories, quick-craft row, filters, search and pagination.
classicCraftingConfigure the optional manual 3x3 matrix and output slot.

Integrated menu settings

SettingDefaultDescription
enabledfalseEnables the integrated one-inventory menu; legacy pages remain unchanged when disabled.
quickCraftPermissionfastcrafting.quickcraftPermission required to display the quick-craft row; blank makes it visible to everyone.
defaultTabCRAFTINGInitial tab: CRAFTING or RECIPES.
defaultSortAVAILABLE_FIRSTAVAILABLE_FIRST or ALPHABETICAL.
defaultFilterALLALL, AVAILABLE or MISSING.
quickRecipesPerPage8Number of quick-craft recipes shown on row 2.
recipesPerPage27Number of catalogue recipes shown on rows 3-5.
categoryIdsCustom: nine RPGCORE professions; public: craftingProfession categories displayed on the Recipes tab.
searchEnabledtrueEnables the Paper Dialog search action.

Runtime contract

The implementation does not expose a /fastcraft Bukkit command or client-authoritative crafting state. Craft actions are scoped to the active GUI session and inventory mutations remain server-authoritative.

Compatibility

The public extension is for the official Paper/Typewriter stack and emits Java 21 bytecode for Java 21 compatibility. It must be paired with the official GuiAndDialogs/OmniGUI extension and does not import BTC Core or RPGCORE. Its default integrated catalogue exposes the crafting category.

The BTC custom extension targets Java 25 and the BTC Core/RPGCORE stack. Its recipe metadata resolves profession identifiers from BtcCraftingRegistry, allowing the standard BTC categories (combat, mining, woodcutting, farming, fishing, crafting, smelting, alchemy, enchanting) to be displayed with available/total counters. The public artifact deliberately does not provide these RPGCORE categories.

For custom BTC recipes, use the BTC crafting namespace (for example custom) and configure RPGCORE profession metadata. The public variant reads the official Bukkit/Paper recipe catalogue and keeps the public dependency boundary intact.