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 initializeenquanto isto permanecerfalse - 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ãofalse). A renomeação paraV2inverte 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|offpara 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
| Chave | Padrão | Descrição |
|---|---|---|
enabled | false | Toggle mestre para /fmm shop. O comando só se registra quando isto é true e Vault + um provedor de economia estão ambos presentes |
defaultPrice | 100.0 | Preço escrito em arquivos de receita que não definem seu próprio shopPrice no próximo carregamento |
menuTitle | &8FMM - Furniture Shop | Tí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 purchase | Linha de lore adicionada a cada item da loja convidando à compra |
Chaves de mensagem (messages.*)
Todas as strings de mensagem suportam códigos de cor &.
| Chave | Padrão | Placeholders |
|---|---|---|
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:
| Campo | Padrão | Descrição |
|---|---|---|
shopEnabled | true | Se esta receita é visível em /fmm shop. Receitas com shopEnabled: false ainda são craftáveis, mas nunca listadas para compra |
shopPrice | defaultPrice de shop_config.yml | Custo 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ão | Padrão | Descrição |
|---|---|---|
freeminecraftmodels.* | op | Wildcard concedendo admin + permissões de disfarce próprio/outros |
freeminecraftmodels.admin | op | Acesso 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.self | op | Permite /fmm disguise / /fmm undisguise no remetente |
freeminecraftmodels.disguise.others | op | Permite disguise/undisguise direcionados além de /fmm disguiselist |
freeminecraftmodels.menu | true | Acesso ao menu de itens craftáveis /fmm |
freeminecraftmodels.shop | true | Acesso a /fmm shop |
Verificadas pelos comandos (não registradas em plugin.yml)
| Permissão | Padrão | Descrição |
|---|---|---|
freeminecraftmodels.deleteall | op | Acesso 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
| Campo | Tipo | Descrição |
|---|---|---|
isEnabled | boolean | Se o modelo é carregado (padrão: true) |
scripts | lista de strings | Nomes de arquivos de script Lua a anexar (de plugins/FreeMinecraftModels/scripts/) |
voxelize | boolean | Quando 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. |
solidify | boolean | Quando 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. |
material | string | Um nome de material do Bukkit (ex.: DIAMOND_SWORD, PAPER). Quando definido, o modelo se torna um item customizado que jogadores podem segurar e equipar |
name | string | Nome de exibição para o item customizado (suporta códigos de cor &) |
lore | lista de strings | Linhas de lore para o item customizado (suporta códigos de cor &) |
enchantments | lista de strings | Encantamentos 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 reloadreimporta 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. UmFmmReloadedEventé 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
softdependemplugin.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 downloadalle/fmm updatecontentpara o ciclo de vida de pacotes oficiais - Use a pasta
importspara trabalho de importação manual de.bbmodelou outro conteúdo local - Use
config.ymlquando 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 receitashopEnabled/shopPrice) para ajustar a loja de mobília sem tocar em código
Ressalvas Conhecidas
- O comportamento Bedrock depende tanto de
sendCustomModelsToBedrockClientsV2quanto 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 versione verifique o console na inicialização se/fmm shopestiver inesperadamente ausente.