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 setupenquanto isto permanecerfalse - O fluxo de configuração alterna esse valor automaticamente; você não precisa editá-lo manualmente durante o onboarding normal
nightbreak.autoDownloadPluginUpdates
- Padrão:
false - Configuração compartilhada do MagmaCore (fica na seção
nightbreak:doconfig.yml) - Quando
true, o FreeMinecraftModels baixa automaticamente as atualizações disponíveis do jar do plugin e os arquivos de atualização de conteúdo na inicialização - Atualizações de plugin e de conteúdo baixadas só são aplicadas depois que o servidor reinicia
- Esta é a chave de config equivalente a rodar
/fmm downloadpluginupdate//fmm downloadalla cada boot; alterne-a pelo menu/fmm setupou manualmente
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 acerto em runtime
maxInteractionAndAttackDistanceForProps
- Padrão:
6 - Aplica-se a entidades 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(cujo padrão erafalse). A renomeação paraV2inverte o padrão para que jogadores Bedrock vejam modelos por padrão; se você havia definido a chave antiga explicitamente, pode deletá-la e a nova chave V2 assume - Se desabilitada, jogadores Bedrock recorrem à entidade vanilla subjacente onde ela existe (e disfarces não serão renderizados para eles)
- Se você ativá-la, certifique-se de que seu caminho de resource pack Bedrock/Geyser/Floodgate esteja 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 que nunca fique acidentalmente ligado em produção. Veja Comandos
preventPropPlacementInProtectedRegions
- Padrão:
true - Quando
true, um jogador que clica com botão direito para colocar um prop (item de modelo customizado) dentro de uma região do WorldGuard ou claim do GriefPrevention é bloqueado - Jogadores com a permissão
freeminecraftmodels.bypassregionprotection(padrão:op) nunca são bloqueados - Isso depende de o WorldGuard (mais WorldEdit) ou o GriefPrevention estar instalado; sem nenhum plugin de proteção presente, não tem efeito
shop_config.yml
A loja de mobília opcional baseada em Vault fica em sua própria config para que possa ser habilitada ou ajustada independentemente do comportamento principal do plugin. A loja se recusa a registrar se o Vault ou um provedor de economia estiver faltando.
Chaves de nível superior
| Chave | Padrão | Descrição |
|---|---|---|
enabled | false | Toggle mestre para /fmm shop. O comando só registra quando isto é true e o Vault + um provedor de economia estão ambos presentes |
defaultPrice | 100.0 | Preço escrito nos 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 incentivando a 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 ganha 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 do Vault para este item específico |
O construtor de receitas (/fmm craftify) escreve ambos os campos ao salvar, então ajustar preço fica a uma edição de texto de distância.
Permissões
Registradas em plugin.yml
| Permissão | Padrão | Descrição |
|---|---|---|
freeminecraftmodels.* | op | Wildcard que concede admin, deleteall e permissões de disfarce próprio/de 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 recommendedplugins, /fmm downloadall, /fmm downloadallcontent, /fmm updatecontent, /fmm downloadpluginupdate) verificam o wildcard freeminecraftmodels.* em vez disso |
freeminecraftmodels.deleteall | op | Filho do wildcard; acesso a /fmm deleteall |
freeminecraftmodels.disguise.self | op | Permite /fmm disguise / /fmm undisguise no remetente |
freeminecraftmodels.disguise.others | op | Permite disfarce/retirada de disfarce com alvo, mais /fmm disguiselist |
freeminecraftmodels.bypassregionprotection | op | Colocar/interagir com props dentro de regiões do WorldGuard ou claims do GriefPrevention mesmo quando preventPropPlacementInProtectedRegions está ligado |
freeminecraftmodels.menu | true | Acesso ao menu de itens craftáveis /fmm |
freeminecraftmodels.shop | true | Acesso a /fmm shop |
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/. Inclua .lua para clareza; entradas de config sem .lua são aceitas e resolvidas para arquivos .lua. |
voxelize | boolean | Quando true, o prop se ajusta a incrementos de rotação de 90 graus e se alinha à grade de blocos ao ser colocado. A área ocupada é calculada a partir das dimensões da hitbox do modelo (arredondadas para blocos inteiros). A colocação verifica que todos os blocos da área ocupada são não sólidos. |
solidify | boolean | Quando true (requer voxelize: true), blocos de barreira apenas em pacotes são colocados em cada bloco da área ocupada do prop, dando a ele colisão no lado do cliente. Essas barreiras são invisíveis e existem apenas em pacotes — não são colocadas no mundo. As barreiras são removidas automaticamente quando o prop é recolhido 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 do item customizado (suporta códigos de cor &) |
lore | lista de strings | Linhas de lore do item customizado (suporta códigos de cor &) |
enchantments | lista de strings | Encantamentos no formato ENCHANTMENT_NAME,LEVEL (ex.: SHARPNESS,3) |
Quando material é 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.
Props executam cada script listado em scripts: como instâncias independentes. Itens customizados atualmente usam apenas o primeiro script válido da lista; entradas adicionais após a primeira são ignoradas para o binding de runtime do item.
Notas Operacionais
/fmm reloadreimporta conteúdo e regenera o pack de saída, então mudanças de configuração que afetam o 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 re-vincular seus anexos de modelo.- 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 configurações mistas.
- WorldGuard, WorldEdit, GriefPrevention e Vault são declarados como
softdependemplugin.yml— nenhum deles é necessário para iniciar o plugin, mas eles desbloqueiam recursos específicos quando presentes (predicados Lua cientes de proteção e a loja de mobília).
Quando Alterar Esses Valores
Use esta config para ajuste de comportamento em runtime, não para gerenciamento de pacotes de conteúdo.
- Use
/fmm setup,/fmm downloadalle/fmm updatecontentpara o trabalho de 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 o modo de renderização, distância de visibilidade, distância de interação, comportamento Bedrock, aplicação da proteção de região ou downloads automáticos de atualização - 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 da sua configuração mais ampla de Floodgate/Geyser/resource pack, então mantenha afirmações conservadoras a menos que tenha testado sua stack exata. - A loja se desabilita silenciosamente se o Vault ou um provedor de economia estiver faltando. Use
/fmm versione verifique o console na inicialização se/fmm shopestiver inesperadamente ausente.