Fast Crafting
Visão geral
O Fast Crafting substitui a mesa de trabalho vanilla por um menu que lista as receitas que um jogador pode fazer e as cria com um clique. As receitas são lidas do catálogo de receitas do servidor, e o que um jogador pode criar é recalculado a partir do próprio inventário, no servidor. Os jogadores escolhem uma quantidade, ou usam shift + clique para criar o máximo, e os ingredientes são retirados do inventário.
O menu integrado usa um único inventário de 54 slots com duas abas. Crafting tem uma linha de criação rápida com as receitas atualmente disponíveis e uma grade 3x3 manual. Recipes é um catálogo organizado pelas profissões do RPG Core (combate, mineração, agricultura, criação e assim por diante), com contadores de disponíveis e totais, filtros, ordenação e um diálogo de busca. Clicar em uma receita do catálogo a cria imediatamente; uma receita nunca é colocada na grade por você.
A extensão roda no build BTC do TypeWriter (BTC Core, Paper/Folia) e é documentada aqui como referência. Ela lê os metadados das receitas do RPG Core e aplica a ele o bloqueio por nível das receitas.
Recursos
- Criação com um clique — clique em uma receita para criar a quantidade selecionada (1, 4, 8, 16, 32, 64 por padrão, ou automática), shift + clique para o máximo.
- Linha de criação rápida — mostra as receitas disponíveis, apenas para jogadores com uma permissão.
- Catálogo por profissão — nove categorias com contadores
available / total, a partir da profissão do RPG Core de cada receita. - Busca, ordenação e filtro — uma busca por diálogo do Paper sobre nome, identificador e profissão, ordenação alfabética ou por disponibilidade e filtros de todas, disponíveis ou faltantes.
- Grade 3x3 manual — uma grade opcional com um slot de saída, onde o jogador coloca os ingredientes à mão; os itens restantes voltam para ele quando o menu fecha.
- Substituição da mesa de trabalho — clicar com o botão direito em uma mesa de trabalho pode abrir este menu no lugar dela.
- Fontes de receitas — receitas vanilla, um único namespace como
customou receitas de estações do MMOItems. - Bloqueio por nível — o bloqueio por nível de receitas do RPG Core é aplicado, e outros plugins podem recusar uma criação por meio de um evento.
- Resultados seguros — o excedente cai aos pés do jogador ou bloqueia a criação, e um cooldown opcional limita o spam.
Instalação
- Instale o RPG Core (a extensão
RPGBundle), a extensão Basic do TypeWriter e a extensão GUI (GuiAndDialogs). O Fast Crafting não carrega sem elas. - Opcional: instale o MMOItems se quiser suas receitas de estações (
useMMOItemsRecipes). - Coloque o JAR do Fast Crafting em
plugins/Typewriter/extensions/e reinicie o servidor. - Conceda a permissão
fastcrafting.quickcraftaos jogadores que podem ver a linha de criação rápida.
Primeiros passos
Abra o menu integrado a partir de um comando:
- No painel web do TypeWriter, abra uma page manifest e adicione uma ação Fast Crafting.
- Defina
inventoryTitle, deixeinventoryRowsem6e ativeintegratedMenu.enabled. - Deixe
categoryIdscom as nove profissões do RPG Core, ou mantenha apenas as que você usa. AtiveclassicCrafting.enabledse quiser a grade 3x3 manual. - Se você quer apenas as suas próprias receitas, defina
recipeNamespacecomo o namespace das suas receitas, por exemplocustom. - Adicione uma entry de comando personalizado (por exemplo
fastcrafting) e coloque a ação Fast Crafting em seustriggers. NPCs, itens e diálogos também podem disparar a ação. - Para substituir a mesa de trabalho vanilla, ative
replaceCraftingTablee, se necessário, definareplaceCraftingTablePermission. - Publique, pegue alguns ingredientes e execute o comando.
Com integratedMenu.enabled desativado (o padrão), a ação abre o layout mais antigo, construído a partir de layoutPool, recipeGrid e marcadores fastcraft_button:. Ative-o para o menu de inventário único descrito aqui. O menu integrado ignora os botões antigos de abrir e fechar e o botão SELECTION_INFO.
No layout antigo, os marcadores são OPEN_GRID, REFRESH, PAGE_PREV, PAGE_NEXT, CRAFT_AMOUNT, SELECTION_INFO e CLOSE. Clique esquerdo em uma receita a fabrica, Shift + clique esquerdo fabrica o máximo e clique direito a seleciona. SELECTION_INFO exibe a receita selecionada com o clique direito (ou fabricada por último), com textos tirados do campo selectionInfo: nome, quantidade obtida, número de fabricações possíveis e uma linha por ingrediente. Veja Fast Crafting para as chaves.
Como funciona
O catálogo é construído uma vez por configuração de entry a partir das receitas do Bukkit: apenas receitas de criação, filtradas por recipeNamespace e disableVanillaRecipes. A profissão de cada receita vem do RPG Core, e receitas sem uma vão para crafting. O que pode ser criado é recalculado a partir do inventário do jogador, que é atualizado quando ele move, pega, solta ou consome itens.
Os resultados que são itens vanilla são convertidos em seus equivalentes BTC quando o RPG Core tem uma substituição. Sem um recipeNamespace, receitas cujo resultado é um item do CraftEngine ou BTC ficam ocultas do catálogo, então defina recipeNamespace (por exemplo custom) para listar suas receitas personalizadas.
Menus
O menu integrado tem seis linhas:
| Linha | Aba Crafting | Aba Recipes |
|---|---|---|
| 1 | As abas Crafting e Recipes. | As abas Crafting e Recipes. |
| 2 | Receitas de criação rápida (até quickRecipesPerPage, ocultas sem a permissão de criação rápida), com paginação. | As categorias de profissão com seus contadores available / total. |
| 3 a 5 | A grade 3x3 manual, o slot de saída e o botão de quantidade. | As receitas da categoria escolhida (recipesPerPage, 27 por padrão). |
| 6 | Controles do menu. | Controles de busca, ordenação, filtro e página. |
O clique esquerdo em uma receita cria a quantidade selecionada. Shift + clique cria o máximo quando allowShiftCraftAll está ativado. O botão de quantidade alterna entre os valores de craftAmountButton.values, com uma opção Auto quando includeAuto está ativado. O diálogo de busca procura no nome, identificador e profissão da receita. A ordenação padrão é defaultSort (AVAILABLE_FIRST ou ALPHABETICAL) e o filtro padrão é defaultFilter (ALL, AVAILABLE ou MISSING). Os textos do menu estão em francês.
A grade manual é posicionada com classicCrafting. Os jogadores colocam itens nela à mão, e o resultado é criado quando clicam no slot de saída, com shift + clique para o máximo. Os itens deixados na grade voltam ao inventário quando o menu fecha.
Configuração
Tudo é definido na entry Fast Crafting. As principais configurações que não tratam do layout:
| Configuração | Finalidade |
|---|---|
fastCraftPermission | Permissão necessária para abrir o menu e criar (vazia para todos). |
recipeNamespace | Lista apenas as receitas desse namespace. |
disableVanillaRecipes | Oculta as receitas minecraft:. |
useMMOItemsRecipes | Adiciona as receitas de estações do MMOItems quando o MMOItems está ativado e oculta as receitas vanilla. |
dropWhenInventoryFull | Solta o resultado aos pés do jogador quando o inventário está cheio. Desativado significa que a criação é recusada quando o resultado não cabe. |
craftCooldownTicks | Cooldown entre criações em ticks (0 para nenhum). |
autoRefreshTicks | Atualiza o menu aberto a cada N ticks (0 para nenhum). |
replaceCraftingTable | Abre este menu em vez da mesa de trabalho vanilla. Jogadores que se agacham mantêm a mesa vanilla. |
Permissões
| Permissão | Concede |
|---|---|
fastcrafting.quickcraft | Mostra a linha de criação rápida do menu integrado. O nome é o padrão de integratedMenu.quickCraftPermission; deixe-o vazio para mostrar a linha a todos. |
valor de fastCraftPermission | Uma permissão à sua escolha para abrir o menu e criar. |
valor de replaceCraftingTablePermission | Uma permissão à sua escolha para receber o menu ao usar uma mesa de trabalho. |
A extensão não tem comando próprio nem placeholders. Os cliques no menu usam um canal interno fastcraft: ligado ao menu aberto do jogador e que não pode ser digitado.
Entries
1 entradas, geradas a partir do código-fonte da extensão.
Ações1
- Fast CraftingFast Crafting
Solução de problemas
O menu é o layout antigo. integratedMenu.enabled está desativado, que é o padrão. Ative-o para obter as abas, o catálogo e a linha de criação rápida.
O catálogo está vazio. Verifique recipeNamespace: apenas as receitas desse namespace são listadas. Sem um namespace, receitas cujo resultado é um item do CraftEngine ou BTC ficam ocultas. Com disableVanillaRecipes ou useMMOItemsRecipes, as receitas minecraft: são removidas.
A linha de criação rápida não aparece. O jogador não tem a permissão de criação rápida (fastcrafting.quickcraft por padrão). Esvazie o campo para mostrar a linha a todos.
Uma receita aparece acinzentada ou se recusa a ser criada. O jogador pode não ter os ingredientes, estar abaixo do nível do RPG Core exigido pela receita (a mensagem aparece na action bar) ou outro plugin pode ter cancelado a criação. A criação também é recusada enquanto o cooldown está em andamento e quando o resultado não cabe e dropWhenInventoryFull está desativado.
Uma receita está na categoria errada. A categoria vem da profissão registrada no RPG Core para a chave da receita. Receitas sem uma vão para crafting. Uma categoria em categoryIds que o RPG Core não define ainda é exibida, com um nome e um ícone genéricos.
A mesa de trabalho vanilla não é substituída. replaceCraftingTable deve estar ativado, o jogador deve ter replaceCraftingTablePermission se definida, e jogadores agachados mantêm a mesa vanilla. A primeira entry com a opção ativada é a usada.
O botão de busca não faz nada. integratedMenu.searchEnabled deve estar ativado. A busca abre um diálogo do Paper, então exige um servidor que suporte diálogos do Paper.