Pular para o conteúdo principal

Configuração do FreeMinecraftModels

Esta página cobre as configurações atuais de config.yml e shop_config.yml que afetam materialmente setup, renderização, interação com jogadores e a loja de mobília opcional.

Localização dos Arquivos

plugins/FreeMinecraftModels/config.yml
plugins/FreeMinecraftModels/shop_config.yml

shop_config.yml é gerado na primeira execução; a loja em si permanece desabilitada até você optar por ativá-la.

Configurações de config.yml

setupDone

  • Padrão: false
  • Controla se a orientação de configuração inicial é considerada completa
  • Jogadores com permissões amplas do FreeMinecraftModels são lembrados a rodar /fmm initialize enquanto isto permanecer false
  • O fluxo de configuração alterna esse valor automaticamente; você não precisa editá-lo manualmente durante o onboarding normal

useDisplayEntitiesWhenPossible

  • Padrão: true
  • Diz ao FreeMinecraftModels para preferir renderização com display-entity quando o servidor e o caminho do cliente suportarem
  • O plugin ainda recorre a displays de armor-stand quando display entities não estão disponíveis (anterior ao 1.19.4 ou Bedrock)
  • Clientes Bedrock são um caso especial, então não assuma que isso força o mesmo caminho de renderização para todos os jogadores

maxModelViewDistance

  • Padrão: 60
  • Limita o quão longe entidades modeladas são enviadas aos espectadores
  • Valores menores reduzem a carga de pacotes e renderização no cliente em áreas densas com muitos modelos
  • Entidades individuais podem sobrescrever isto em runtime via ModeledEntity.setViewDistanceOverride(int) — veja o guia da API

maxInteractionAndAttackDistance

  • Padrão: 3
  • Aplica-se a entidades modeladas estáticas e dinâmicas
  • Usado pelas verificações de interação e detecção de hit do runtime

maxInteractionAndAttackDistanceForProps

  • Padrão: 6
  • Aplica-se a entidades de prop
  • Isto é separado da distância de interação de entidades estáticas/dinâmicas

sendCustomModelsToBedrockClientsV2

  • Padrão: true
  • Controla se o FreeMinecraftModels tenta enviar modelos customizados para clientes Bedrock
  • Esta chave substitui a antiga sendCustomModelsToBedrockClients (que tinha padrão false). A renomeação para V2 inverte o padrão para que jogadores Bedrock vejam modelos por padrão; se você definiu explicitamente a chave antiga, pode apagá-la e a nova chave V2 assume
  • Se desabilitado, jogadores Bedrock recorrem à entidade vanilla subjacente quando ela existe (e disfarces não serão renderizados para eles)
  • Se você habilitar, certifique-se de que seu pipeline de resource pack Bedrock/Geyser/Floodgate está realmente pronto para esses clientes
  • O log de diagnóstico em runtime para o pipeline de exibição Bedrock não é uma chave de config — ele é alternado em runtime via /fmm debug bedrock on|off para nunca ficar acidentalmente ativado em produção. Veja Comandos

shop_config.yml

A loja de mobília opcional baseada em Vault vive em sua própria configuração para que possa ser habilitada ou ajustada independentemente do comportamento principal do plugin. A loja se recusa a se registrar se Vault ou um provedor de economia estiverem ausentes.

Chaves de nível superior

ChavePadrãoDescrição
enabledfalseToggle mestre para /fmm shop. O comando só se registra quando isto é true e Vault + um provedor de economia estão ambos presentes
defaultPrice100.0Preço escrito em arquivos de receita que não definem seu próprio shopPrice no próximo carregamento
menuTitle&8FMM - Furniture ShopTítulo mostrado no topo do inventário da loja (suporta códigos de cor &)
priceLoreFormat&7Price: &e{price}Linha de lore adicionada a cada item da loja mostrando seu preço. Placeholder: {price}
clickToBuyLoreFormat&aClick to purchaseLinha de lore adicionada a cada item da loja convidando à compra

Chaves de mensagem (messages.*)

Todas as strings de mensagem suportam códigos de cor &.

ChavePadrãoPlaceholders
messages.purchaseSuccess&aPurchased &f{item} &afor &e{price}&a. Balance: &e{balance}&a.{item}, {price}, {balance}
messages.insufficientFunds&cYou need &e{price} &cto buy &f{item}&c. Balance: &e{balance}&c.{item}, {price}, {balance}
messages.shopDisabled&cThe furniture shop is currently unavailable.nenhum
messages.itemNotForSale&cThat item is not currently for sale.{item}
messages.inventoryFull&eYour inventory was full; &f{item} &ehas been dropped at your feet.{item}

Campos de loja por receita

Cada arquivo de receita em plugins/FreeMinecraftModels/recipes/<model_id>.yml recebe dois campos adicionais:

CampoPadrãoDescrição
shopEnabledtrueSe esta receita é visível em /fmm shop. Receitas com shopEnabled: false ainda são craftáveis, mas nunca listadas para compra
shopPricedefaultPrice de shop_config.ymlCusto em moeda Vault para este item específico

O construtor de receitas (/fmm craftify) escreve ambos os campos ao salvar, então o ajuste de preço é apenas uma edição de texto.

Permissões

Registradas em plugin.yml

PermissãoPadrãoDescrição
freeminecraftmodels.*opWildcard concedendo admin + permissões de disfarce próprio/outros
freeminecraftmodels.adminopAcesso a /fmm admin (o navegador de conteúdo para admins) e /fmm giveitem. Outros comandos de admin/debug (/fmm location, /fmm spawn, /fmm mount, /fmm itemify, /fmm craftify, /fmm reload, /fmm stats, /fmm hitbox visualize, /fmm debug bedrock, /fmm setup, /fmm initialize, /fmm downloadall, /fmm updatecontent) verificam o wildcard freeminecraftmodels.* no lugar
freeminecraftmodels.disguise.selfopPermite /fmm disguise / /fmm undisguise no remetente
freeminecraftmodels.disguise.othersopPermite disguise/undisguise direcionados além de /fmm disguiselist
freeminecraftmodels.menutrueAcesso ao menu de itens craftáveis /fmm
freeminecraftmodels.shoptrueAcesso a /fmm shop

Verificadas pelos comandos (não registradas em plugin.yml)

PermissãoPadrãoDescrição
freeminecraftmodels.deleteallopAcesso a /fmm deleteall (verificada pelo handler do comando em runtime)

Configuração YML do Modelo

Cada arquivo .bbmodel pode ter um arquivo .yml companheiro (mesmo nome, mesmo diretório) que controla configurações específicas do modelo. O formato YML unificado suporta os seguintes campos:

isEnabled: true
voxelize: true
solidify: true
scripts:
- my_script.lua
material: DIAMOND_SWORD
name: "&bFrost Blade"
lore:
- "&7A sword forged in ice"
- "&7Deals frost damage"
enchantments:
- SHARPNESS,3
- UNBREAKING,2
CampoTipoDescrição
isEnabledbooleanSe o modelo é carregado (padrão: true)
scriptslista de stringsNomes de arquivos de script Lua a anexar (de plugins/FreeMinecraftModels/scripts/)
voxelizebooleanQuando true, o prop encaixa em incrementos de rotação de 90 graus e alinha à grade de blocos ao ser colocado. A pegada é calculada a partir das dimensões do hitbox do modelo (arredondadas para blocos inteiros). A colocação verifica se todos os blocos na pegada são não-sólidos.
solidifybooleanQuando true (requer voxelize: true), blocos de barreira somente em pacotes são colocados em cada bloco da pegada do prop, dando-lhe colisão no lado do cliente. Essas barreiras são invisíveis e existem apenas em pacotes — elas não são colocadas no mundo. As barreiras são removidas automaticamente quando o prop é coletado ou destruído.
materialstringUm nome de material do Bukkit (ex.: DIAMOND_SWORD, PAPER). Quando definido, o modelo se torna um item customizado que jogadores podem segurar e equipar
namestringNome de exibição para o item customizado (suporta códigos de cor &)
lorelista de stringsLinhas de lore para o item customizado (suporta códigos de cor &)
enchantmentslista de stringsEncantamentos no formato NOME_ENCANTAMENTO,NÍVEL (ex.: SHARPNESS,3)

Quando material está definido, o modelo é registrado como um item customizado. Jogadores podem recebê-lo via /fmm giveitem, craftá-lo se uma receita estiver configurada, e ele ganha acesso a todos os 22 hooks Lua de item.

Notas Operacionais

  • /fmm reload reimporta conteúdo e regenera o pack de saída, então mudanças de configuração que afetam comportamento de renderização são mais fáceis de validar após um reload. Um FmmReloadedEvent é disparado a cada reload para que plugins dependentes possam reanexar seus modelos.
  • O FreeMinecraftModels apenas gera o resource pack; ele não o hospeda sozinho.
  • O ResourcePackManager continua sendo o caminho de entrega recomendado para clientes Java e o caminho documentado mais seguro para setups mistos.
  • WorldGuard, WorldEdit, GriefPrevention e Vault são declarados como softdepend em plugin.yml — nenhum deles é obrigatório para iniciar o plugin, mas eles desbloqueiam recursos específicos quando presentes (predicados Lua conscientes de proteção e a loja de mobília).

Quando Alterar Esses Valores

Use esta configuração para ajuste de comportamento em runtime, não para gerenciamento de pacotes de conteúdo.

  • Use /fmm initialize, /fmm setup, /fmm downloadall e /fmm updatecontent para o ciclo de vida de pacotes oficiais
  • Use a pasta imports para trabalho de importação manual de .bbmodel ou outro conteúdo local
  • Use config.yml quando precisar ajustar modo de renderização, distância de visibilidade, distância de interação ou comportamento Bedrock
  • Use shop_config.yml (e os campos por receita shopEnabled/shopPrice) para ajustar a loja de mobília sem tocar em código

Ressalvas Conhecidas

  • O comportamento Bedrock depende tanto de sendCustomModelsToBedrockClientsV2 quanto do seu setup mais amplo de Floodgate/Geyser/resource pack, então mantenha as afirmações conservadoras a menos que tenha testado sua stack exata.
  • A loja se desabilita silenciosamente se Vault ou um provedor de economia estiver ausente. Use /fmm version e verifique o console na inicialização se /fmm shop estiver inesperadamente ausente.