Fast Crafting
Descripción general
Fast Crafting sustituye la mesa de crafteo vanilla por un menú que enumera las recetas que un jugador puede fabricar y las fabrica con un solo clic. Las recetas se leen del catálogo de recetas del servidor, y lo que un jugador puede fabricar se recalcula a partir de su propio inventario, en el servidor. Los jugadores eligen una cantidad, o hacen Shift + clic para fabricar el máximo, y los ingredientes se toman de su inventario.
El menú integrado usa un único inventario de 54 ranuras con dos pestañas. Crafting (Fabricación) tiene una fila de fabricación rápida con las recetas disponibles en ese momento y una cuadrícula manual de 3x3. Recipes (Recetas) es un catálogo ordenado por las profesiones de RPG Core (combate, minería, agricultura, fabricación, etc.), con contadores de disponibles y totales, filtros, ordenación y un diálogo de búsqueda. Al hacer clic en una receta del catálogo se fabrica de inmediato; nunca se coloca una receta en la cuadrícula por ti.
La extensión se ejecuta en la versión BTC de TypeWriter (BTC Core, Paper/Folia) y se documenta aquí a modo de referencia. Lee los metadatos de las recetas de RPG Core y aplica a las recetas su bloqueo por nivel.
Características
- Fabricación con un clic: haz clic en una receta para fabricar la cantidad seleccionada (1, 4, 8, 16, 32, 64 por defecto, o automática) y Shift + clic para el máximo.
- Fila de fabricación rápida: muestra las recetas disponibles, solo para los jugadores que tengan un permiso.
- Catálogo por profesión: nueve categorías con contadores
available / total, según la profesión de RPG Core de cada receta. - Búsqueda, ordenación y filtro: una búsqueda mediante diálogo de Paper por nombre, identificador y profesión, ordenación alfabética o por disponibilidad, y filtros de todas, disponibles o faltantes.
- Cuadrícula manual de 3x3: una cuadrícula opcional con una ranura de resultado, donde el jugador coloca los ingredientes a mano; los objetos sobrantes le son devueltos al cerrar el menú.
- Sustitución de la mesa de crafteo: al hacer clic derecho en una mesa de crafteo se puede abrir este menú en su lugar.
- Fuentes de recetas: recetas vanilla, un único espacio de nombres como
customo recetas de estaciones de MMOItems. - Bloqueo por nivel: se aplica el bloqueo de nivel de recetas de RPG Core, y otros plugins pueden rechazar una fabricación mediante un evento.
- Resultados seguros: el exceso se suelta a los pies del jugador o bloquea la fabricación, y un cooldown opcional limita el spam.
Instalación
- Instala RPG Core (la extensión
RPGBundle), la extensión Basic de TypeWriter y la extensión GUI (GuiAndDialogs). Fast Crafting no se cargará sin ellas. - Opcional: instala MMOItems si quieres sus recetas de estación (
useMMOItemsRecipes). - Coloca el JAR de Fast Crafting en
plugins/Typewriter/extensions/y reinicia el servidor. - Concede el permiso
fastcrafting.quickcrafta los jugadores que puedan ver la fila de fabricación rápida.
Primeros pasos
Abre el menú integrado desde un comando:
- En el panel web de TypeWriter, abre una página de manifiesto y añade una acción Fast Crafting.
- Establece
inventoryTitle, dejainventoryRowsen6y activaintegratedMenu.enabled. - Deja
categoryIdscon las nueve profesiones de RPG Core, o conserva solo las que uses. ActivaclassicCrafting.enabledsi quieres la cuadrícula manual de 3x3. - Si solo quieres tus propias recetas, establece
recipeNamespaceen el espacio de nombres de tus recetas, por ejemplocustom. - Añade una entrada de comando personalizado (por ejemplo
fastcrafting) y coloca la acción Fast Crafting en sustriggers. Los NPC, los objetos y los diálogos también pueden activar la acción. - Para sustituir la mesa de crafteo vanilla, activa
replaceCraftingTabley, si es necesario, establecereplaceCraftingTablePermission. - Publica, date algunos ingredientes y ejecuta el comando.
Con integratedMenu.enabled desactivado (el valor por defecto), la acción abre el layout antiguo construido a partir de layoutPool, recipeGrid y marcadores fastcraft_button:. Actívalo para el menú de inventario único descrito aquí. El menú integrado ignora los antiguos botones de apertura y cierre y el botón SELECTION_INFO.
En el layout antiguo, los marcadores son OPEN_GRID, REFRESH, PAGE_PREV, PAGE_NEXT, CRAFT_AMOUNT, SELECTION_INFO y CLOSE. El clic izquierdo en una receta la fabrica, Mayús + clic izquierdo fabrica el máximo y el clic derecho la selecciona. SELECTION_INFO muestra la receta seleccionada con un clic derecho (o fabricada en último lugar), con textos tomados del campo selectionInfo: nombre, cantidad obtenida, número de fabricaciones posibles y una línea por ingrediente. Consulta Fast Crafting para las claves.
Cómo funciona
El catálogo se construye una vez por configuración de entrada a partir de las recetas de Bukkit: solo recetas de fabricación, filtradas por recipeNamespace y disableVanillaRecipes. La profesión de cada receta procede de RPG Core, y las recetas que no tienen una van a crafting. Lo que se puede fabricar se recalcula a partir del inventario del jugador, que se actualiza cuando mueve, recoge, suelta o consume objetos.
Los resultados que son objetos vanilla se convierten en sus equivalentes de BTC cuando RPG Core tiene un sustituto. Sin un recipeNamespace, las recetas cuyo resultado es un objeto de CraftEngine o de BTC se ocultan del catálogo, así que establece recipeNamespace (por ejemplo custom) para enumerar tus recetas personalizadas.
Menús
El menú integrado tiene seis filas:
| Fila | Pestaña Crafting | Pestaña Recipes |
|---|---|---|
| 1 | Las pestañas Crafting y Recipes. | Las pestañas Crafting y Recipes. |
| 2 | Recetas de fabricación rápida (hasta quickRecipesPerPage, ocultas sin el permiso de fabricación rápida), con paginación. | Las categorías de profesión con sus contadores available / total. |
| 3 a 5 | La cuadrícula manual de 3x3, la ranura de resultado y el botón de cantidad. | Las recetas de la categoría elegida (recipesPerPage, 27 por defecto). |
| 6 | Controles del menú. | Controles de búsqueda, ordenación, filtro y página. |
El clic izquierdo en una receta fabrica la cantidad seleccionada. Shift + clic fabrica el máximo cuando allowShiftCraftAll está activado. El botón de cantidad recorre craftAmountButton.values, con una opción Auto cuando includeAuto está activado. El diálogo de búsqueda mira en el nombre, el identificador y la profesión de la receta. La ordenación por defecto es defaultSort (AVAILABLE_FIRST o ALPHABETICAL) y el filtro por defecto es defaultFilter (ALL, AVAILABLE o MISSING). Los textos del menú están en francés.
La cuadrícula manual se coloca con classicCrafting. Los jugadores colocan objetos en ella a mano, y el resultado se fabrica cuando hacen clic en la ranura de resultado, con Shift + clic para el máximo. Los objetos que queden en la cuadrícula vuelven a su inventario al cerrar el menú.
Configuración
Todo se establece en la entrada Fast Crafting. Los ajustes principales que no tienen que ver con el layout:
| Ajuste | Finalidad |
|---|---|
fastCraftPermission | Permiso necesario para abrir el menú y fabricar (vacío para todos). |
recipeNamespace | Solo enumera las recetas de este espacio de nombres. |
disableVanillaRecipes | Oculta las recetas minecraft:. |
useMMOItemsRecipes | Añade las recetas de estación de MMOItems cuando MMOItems está activado y oculta las recetas vanilla. |
dropWhenInventoryFull | Suelta el resultado a los pies del jugador cuando el inventario está lleno. Desactivado significa que la fabricación se rechaza cuando el resultado no cabe. |
craftCooldownTicks | Cooldown entre fabricaciones en ticks (0 para ninguno). |
autoRefreshTicks | Actualiza el menú abierto cada N ticks (0 para ninguno). |
replaceCraftingTable | Abre este menú en lugar de la mesa de crafteo vanilla. Los jugadores que se agachan conservan la mesa vanilla. |
Permisos
| Permiso | Concede |
|---|---|
fastcrafting.quickcraft | Muestra la fila de fabricación rápida del menú integrado. El nombre es el valor por defecto de integratedMenu.quickCraftPermission; déjalo vacío para mostrar la fila a todos. |
Valor de fastCraftPermission | Un permiso de tu elección para abrir el menú y fabricar. |
Valor de replaceCraftingTablePermission | Un permiso de tu elección para obtener el menú al usar una mesa de crafteo. |
La extensión no tiene comandos propios ni placeholders. Los clics del menú usan un canal interno fastcraft: que está ligado al menú abierto del jugador y no se puede escribir.
Entradas
1 entradas, generadas a partir del código fuente de la extensión.
Acciones1
- Fast CraftingFast Crafting
Resolución de problemas
El menú es el layout antiguo. integratedMenu.enabled está desactivado, que es el valor por defecto. Actívalo para obtener las pestañas, el catálogo y la fila de fabricación rápida.
El catálogo está vacío. Comprueba recipeNamespace: solo se enumeran las recetas de ese espacio de nombres. Sin un espacio de nombres, se ocultan las recetas cuyo resultado es un objeto de CraftEngine o de BTC. Con disableVanillaRecipes o useMMOItemsRecipes, se eliminan las recetas minecraft:.
Falta la fila de fabricación rápida. Al jugador le falta el permiso de fabricación rápida (fastcrafting.quickcraft por defecto). Vacía el campo para mostrar la fila a todos.
Una receta aparece atenuada o se niega a fabricarse. Puede que al jugador le falten ingredientes, que esté por debajo del nivel de RPG Core de la receta (el mensaje aparece en la barra de acción) o que otro plugin haya cancelado la fabricación. La fabricación también se rechaza mientras corre el cooldown y cuando el resultado no cabe y dropWhenInventoryFull está desactivado.
Una receta está en la categoría equivocada. La categoría procede de la profesión registrada en RPG Core para la clave de la receta. Las recetas que no tienen una van a crafting. Una categoría de categoryIds que RPG Core no define se muestra igualmente, con un nombre y un icono genéricos.
La mesa de crafteo vanilla no se sustituye. replaceCraftingTable debe estar activado, el jugador debe tener replaceCraftingTablePermission si está definido, y los jugadores que se agachan conservan la mesa vanilla. Se usa la primera entrada que tenga la opción activada.
El botón de búsqueda no hace nada. integratedMenu.searchEnabled debe estar activado. La búsqueda abre un diálogo de Paper, por lo que necesita un servidor compatible con los diálogos de Paper.