Perguntas frequentes sobre FreeMinecraftModels
Se não encontrar aqui a sua pergunta, consulte a barra lateral: pode existir uma página dedicada ao assunto.
Primeiros passos
Como instalar e usar o FreeMinecraftModels?
Informações
Instalação:
- Descarregue FreeMinecraftModels.jar e coloque-o na pasta de plugins.
- Reinicie o servidor para gerar as pastas.
- Execute
/fmm setuppara abrir a instalação inicial e gestão de conteúdo. - Para pacotes oficiais, associe a conta com
/nightbreaklogin <token>. - Use
/fmm setupou/fmm downloadallpara conteúdo oficial gerido pelo Nightbreak. - Para modelos avulsos, coloque os ficheiros com a extensão minúscula
.bbmodeldiretamente em~/plugins/FreeMinecraftModels/imports/e execute/fmm reload. Modelos com ficheiros complementares precisam da pasta de modelos ativa ou de uma importação empacotada; consulte as notas de criação de modelos. - O pacote gerado fica em
~/plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip.
Distribuição do pacote de recursos:
- Opção A, recomendada: instale Resource Pack Manager para distribuição automática.
- Opção B: configure manualmente através de server.properties ou de um serviço de alojamento.
Criar modelos:
/fmm spawn static <id>: modelo decorativo temporário./fmm spawn dynamic <id>: modelo associado a uma entidade./fmm spawn prop <id>: modelo persistente no mundo.
Gestão:
/fmm: menu de itens fabricáveis; exigefreeminecraftmodels.menu./fmm setup: instalação inicial e gestão de conteúdo./fmm recommendedplugins: catálogo de plugins complementares./fmm downloadall: descarrega a atualização mais recente do plugin e depois o conteúdo acessível em falta ou desatualizado; o JAR entra em vigor após um reinício ou/fmm applypluginupdate./fmm downloadallcontent: descarrega conteúdo acessível em falta ou desatualizado, sem o JAR do plugin./fmm updatecontent: atualiza conteúdo oficial desatualizado./fmm downloadpluginupdate: descarrega apenas o JAR mais recente./fmm applypluginupdate: aplica uma atualização do plugin já descarregada sem reiniciar o servidor./fmm forcereinstallcontent <package|all>: volta a descarregar o conteúdo selecionado independentemente da versão; use diretamente o slug de um pacote completamente ausente./fmm reload: recarrega o plugin e converte modelos novos./fmm version: mostra a versão./fmm stats: estatísticas de contagem de entidades./nightbreaklogin <token>//nightbreaklogout: comandos independentes do MagmaCore para guardar e remover o token Nightbreak; exigemnightbreak.login./freeminecraftmodelschangelog [dismiss|disable]: notas de atualização não lidas, para administradores; também acessíveis por um aviso clicável ao entrar.
Funções para jogadores:
/fmm disguise <modelID> [player]: aplica um modelo como disfarce ao próprio jogador ou a um alvo./fmm undisguise [player]: remove o disfarce./fmm disguiselist: lista todos os jogadores disfarçados./fmm itemify <model> <material>: cria um item para colocar o modelo./fmm craftify <modelID>: editor de receitas de fabrico de elementos decorativos./fmm shop: loja opcional integrada com Vault, quando ativa emshop_config.yml./fmm mount <modelID>: cria um cavalo montável disfarçado com o modelo; experimental.
Diagnóstico:
/fmm hitbox visualize [duration]: mostra hitboxes próximas com partículas durante um número de ticks (predefinição 100, valores não positivos usam 100, máximo 1200)./fmm location: apresenta e testa os fornecedores de proteção e deteção de dungeons na posição atual./fmm debug bedrock [on|off]: define o estado do registo detalhado[FMM-BedrockDebug]ou, sem estado indicado, informa o estado atual. Mantém-se após/fmm reloade começa desativado no arranque do servidor./fmm debug props [on|off]: ativa diagnósticos de elementos sobrepostos no arranque, no carregamento de entidades e nas verificações antes da criação, ou informa o seu estado. Mantém-se após/fmm reload; um novo arranque repõe o estado./fmm packetdebug [ticks]: recolhe tráfego durante o número indicado de ticks do relógio de modelos (predefinição 1, intervalo 1–200; uma entrada inválida usa 1). Mostra pacotes por tick, distribuição por observador, destinatários com maior carga e tipos de pacotes./fmm filmic [on|off]: envia temporariamente todos os modelos carregados a todos os jogadores que tenham o respetivo chunk carregado, para gravações com o ReplayMod. Não é recomendado fora de gravações. Consulte modo fílmico.
Administração:
/fmm deleteall [radius]: remove todas as entidades com modelos carregadas e elementos decorativos, sem pedir confirmação. O raio opcional, apenas para jogadores, limita a distância em blocos.
Permissões:
freeminecraftmodels.*, predefinição OP: concedefreeminecraftmodels.admin,freeminecraftmodels.deleteall,freeminecraftmodels.disguise.self,freeminecraftmodels.disguise.othersefreeminecraftmodels.bypassregionprotection. É também a permissão literal de/fmm reload,/fmm stats,/fmm spawn,/fmm itemify,/fmm craftify,/fmm mount,/fmm hitbox visualize,/fmm debug,/fmm packetdebug,/fmm filmic,/fmm location,/fmm setup,/fmm initialize,/fmm recommendedplugins,/fmm downloadall,/fmm downloadallcontent,/fmm updatecontent,/fmm downloadpluginupdate,/fmm applypluginupdatee/fmm forcereinstallcontent.freeminecraftmodels.admin, predefinição OP:/fmm admine/fmm giveitem.freeminecraftmodels.disguise.self, predefinição OP: disfarçar e remover o disfarce do próprio jogador.disguiseeundisguisecom alvo exigemfreeminecraftmodels.disguise.selfefreeminecraftmodels.disguise.others.disguiselistexige apenas.others.freeminecraftmodels.deleteall, predefinição OP:/fmm deleteall; incluída na permissão global.freeminecraftmodels.bypassregionprotection, predefinição OP: ignora a verificação de proteção de regiões do FMM. Não anula todos os eventos dos outros plugins nem a verificação física de espaço livre.freeminecraftmodels.menu, predefinição true: todos os jogadores podem abrir/fmm.freeminecraftmodels.shop, predefinição true: todos podem abrir/fmm shopquando a loja está ativa.nightbreak.login, predefinição OP: registada pelo MagmaCore, fora deplugin.yml; exigida por/nightbreaklogine/nightbreaklogout.
Salvo indicação em contrário, os comandos são reservados a operadores por predefinição. Atribua as permissões necessárias a outros jogadores.
Funcionalidades e limites dos modelos
Quais são os limites de tamanho e rotação?
Informações
Tamanho:
- O tamanho é verificado sobre os cubos de cada osso, não sobre o modelo completo.
- O conversor multiplica as coordenadas dos cubos por
0.4e recentra cada osso. O limiar de aviso é192nessas coordenadas escaladas; não é um limite de apresentação verificado de 192 píxeis de modelo ou 12 blocos. - O aviso não rejeita nem redimensiona o osso. Se a geometria falhar, reduza os cubos, aproxime-os ou distribua-os por vários ossos e examine o modelo gerado no cliente de destino.
- Um modelo pode abranger vários ossos; a ausência de aviso não prova que a geometria do pacote gerado seja válida.
Rotação de cubos:
- Minecraft 1.21.6 e posterior: o conversor aceita restos arbitrários dentro de ±45° após decompor o ângulo numa transformação base (0°, ±90°, ±180°, incorporada na geometria). Use ângulos no intervalo habitual de −180° a 180° e examine o resultado; aceitar a decomposição não verifica a apresentação.
- Minecraft 1.21.4 / 1.21.5: o resto deve ser −45°, −22,5°, 0°, 22,5° ou 45°. Os ângulos permitidos são, por isso, 0°, ±22,5°, ±45°, ±67,5°, ±90°, ±112,5°, ±135°, ±157,5° e ±180°: múltiplos de 22,5°.
- Em todas as versões, só é suportado um eixo por cubo. O ciclo percorre Z a X e substitui a escolha, pelo que vence o primeiro eixo não nulo na ordem X/Y/Z.
[22.5, 0, 45]mantém a rotação X e perde a rotação Z.- Um ângulo impossível de decompor gera
Could not decompose rotation angle ... for model name <model>e é aplicado diretamente, geralmente com resultado incorreto.
Rotação de ossos:
- Aceita qualquer ângulo e vários eixos.
- Os ossos visíveis acrescentam trabalho de apresentação e envio de pacotes por observador; nem todos os ossos estruturais ou de metadados são apresentados.
Mantenha baixos os números de ossos visíveis e observadores quando possível. Java apresenta os ossos visíveis através de entidades enviadas por pacotes; o sistema Bedrock usa outra representação. O número de ossos não corresponde ao número de entidades Bukkit normais.
Que animações são suportadas?
Informações
O FMM associa cinco nomes a estados automáticos:
spawn: uma execução ao criar o modelo, seguida deidle.idle: repete até a entidade subjacente ter velocidade X ou Z não nula.walk: repete durante o movimento horizontal; regressa a idle no chão, com X e Z a zero.attack: uma execução, seguida deidle.death: uma execução ao remover porremoveWithDeathAnimation().
Os restantes nomes são animações personalizadas. Precisam de ativação explícita pela API ou Lua.
jumpJUMP existe em AnimationStateType e a caminhada solicita-o quando a entidade sai do chão. Contudo, não existe um estado de salto registado no gestor, pelo que essa transição automática não tem efeito. Uma animação jump continua a funcionar como animação personalizada quando chamada explicitamente.
Funcionamento:
- Crie as animações no Blockbench com os nomes em minúsculas acima para as associar aos estados.
- O plugin lê os fotogramas-chave do
.bbmodelna importação e prepara fotogramas por tick. - Os estados automáticos seguem o estado da entidade.
- Pode chamar qualquer animação com
playAnimation(animationName, blend, loop)numaModeledEntityoucontext.prop:play_animation(name, blend, loop)em Lua.
Os disfarces usam outro controlador:
/fmm disguise seleciona cinco nomes — attack, jump, sneak, walk e idle — por essa ordem de prioridade, antes de executar o motor de reprodução partilhado. sneak e jump têm ativação automática nos disfarces; modelos normais podem reproduzi-los explicitamente como animações personalizadas. Animações de execução única suspendem todas as novas seleções durante 20 ticks. Sem idle, surge um aviso e o modelo pode permanecer no último fotograma quando não há outra ação ativa. Consulte Disfarces de jogadores.
Consulte Animações para repetição, interpolação, tempos dos fotogramas-chave e IK.
Caso especial: os evocadores detetam presas de evocador próximas para ativar automaticamente as animações de ataque.
O que são ossos virtuais e como funcionam?
Informações
São ossos com nomes reservados que acrescentam funções aos modelos.
Hitbox:
- Nome exato
hitbox, sem distinção de maiúsculas. - Cria zonas de interação e caixas de colisão. O cubo define largura, profundidade e altura; X e Z podem diferir. Não altera a hitbox de um jogador disfarçado.
- Tem de estar no nível raiz do outliner. Dentro de outro grupo é tratado como osso normal.
- Deve conter exatamente um cubo. Cubos adicionais geram
has more than one value defining a hitbox! Only the first cube will be used; um grupo vazio gerahas a hitbox bone but no hitbox cube!e deixa as dimensões a zero. A posição e rotação do cubo não deslocam a hitbox. - Nunca é animado nem apresentado e não integra a geometria Bedrock.
Etiqueta de nome:
- Prefixo
tag_. - Define uma âncora para o texto que identifica a entidade acima do modelo.
- É opcional. Sem ela, o nome fica acima da hitbox. Consulte Porque não aparece o nome do modelo?.
- Não precisa de cubos; é uma posição para o texto, normalmente acima da cabeça.
Rotação da cabeça:
- Prefixo
h_. - Acompanha automaticamente a orientação da cabeça do jogador ou entidade.
Ossos ocultos ou estruturais:
- Prefixo
b_. - São ocultados pelo sistema de apresentação de ossos Java; o exportador de geometria Bedrock não filtra ossos
b_. - Servem para estrutura, organização ou metadados na hierarquia do esqueleto, sem gerar geometria.
Pontos de montada:
- Prefixo
m_. - Cada osso cria um assento gerido por
MountPointManager. - O assento acompanha o osso nas animações.
- Vários ossos criam vários assentos.
- São excluídos da geometria Bedrock.
- Consulte O que são ossos de pontos de montada?.
Crie os ossos com estes nomes no Blockbench; o plugin aplica as funções correspondentes automaticamente.
Resolução de problemas
Vejo armaduras de cavalo em vez dos modelos.
Informações
Uma armadura de cavalo em vez do modelo significa que o aspeto personalizado esperado não está a ser aplicado. Verifique se o FMM gerou o modelo, se o pacote atual o contém e se o cliente descarregou e aceitou esse pacote. Um conflito na combinação é apenas uma das causas possíveis.
O Resource Pack Manager, RSPM, de MagmaGuy combina os pacotes automaticamente. Está disponível no Spigot.
O RSPM pode combinar, alojar e distribuir o pacote gerado. Siga o guia de configuração, verifique as fontes de pacotes ativas e a acessibilidade do endereço de alojamento, volte a ligar um cliente e confirme que o modelo aparece.
Porque não vejo o modelo após adicionar o .bbmodel?
Informações
Verifique estas causas:
1. Falta de recarregamento. Execute /fmm reload após colocar o .bbmodel em imports. Verifique a consola: a rejeição do conteúdo candidato preserva o ambiente atual, pelo que o comando sozinho não prova que o conteúdo novo foi aplicado.
2. Pacote não aplicado. Os jogadores precisam do pacote FMM ativo. Confirme ~/plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip e use Resource Pack Manager para o distribuir automaticamente, ou configure a distribuição manual com server.properties e alojamento.
3. Localização errada. Os .bbmodel avulsos vão diretamente para ~/plugins/FreeMinecraftModels/imports/. Esta via conserva a fonte e pode voltar a convertê-la em recarregamentos posteriores. Não importa YAML complementares avulsos nem percorre pastas arbitrárias. Modelos com ficheiros complementares podem ficar em models/ ou chegar numa importação corretamente empacotada. Para pacotes oficiais, use /fmm setup ou /fmm downloadall.
4. Erros no modelo. Consulte os erros durante /fmm reload, incluindo rotações não suportadas, dimensões excessivas e texturas.
5. Combinação incorreta dos pacotes. Se o cliente tem um pacote mas ainda mostra o material base, verifique a definição gerada, os caminhos das texturas, o resultado combinado e a versão do pacote no cliente. O RSPM pode gerir a combinação e entrega, mas a instalação por si só não prova que tenham funcionado.
6. Colisão de IDs. Procure [FMM Models] Rejected normalized model ID collision. Dois ou mais ficheiros produziram o mesmo ID com conteúdo diferente e todos foram rejeitados. Consulte Porque foi o modelo rejeitado por colisão de ID?.
Porque foi o modelo rejeitado por colisão de ID?
Informações
O FMM converte o nome do ficheiro para minúsculas e substitui por sublinhados todos os caracteres fora de a-z, 0-9, ., _ e -. Esse nome normalizado torna-se o ID e o nome no pacote.
Todos estes ficheiros produzem my_table:
My Table.bbmodel
my table.bbmodel
my_table.bbmodel
MY_TABLE.bbmodel
Antes da conversão, o FMM procura colisões em toda a árvore de modelos. Se todos os ficheiros em colisão forem idênticos byte a byte, por exemplo o mesmo modelo fornecido por dois pacotes de conteúdo, o FMM carrega uma cópia e ignora as restantes sem aviso. Caso contrário, rejeita todos os ficheiros envolvidos, e não apenas os excedentes, evitando um resultado dependente da ordem de carregamento. A consola apresenta:
[FMM Models] Rejected normalized model ID collision '<id>'. These files normalize to the same ID: <paths>. Rename the files so every normalized model ID is unique; no colliding model was loaded.
Correção: renomeie os ficheiros para produzirem IDs distintos e execute /fmm reload. O aviso identifica os caminhos absolutos envolvidos.
Prevenção: use nomes únicos em minúsculas com sublinhados, como stone_table.bbmodel, em toda a árvore de modelos. Pastas diferentes não tornam únicos nomes base repetidos, e outro nome pode continuar a produzir o mesmo ID normalizado.
Os modelos rejeitados não geram recursos Java nem entidades personalizadas Bedrock.
Porque não aparece o nome do modelo?
O FMM atual já não exige um osso tag_. Usa o primeiro por ordem alfabética quando existe; caso contrário, coloca o nome acima da hitbox.
Confirme que o plugin responsável define um nome não vazio e não oculta a etiqueta. Se a posição estiver errada, verifique a hitbox ou adicione uma âncora tag_name sem cubos no Blockbench. Várias âncoras não repetem o nome. Consulte Criação de etiquetas de nome.
O ViaVersion pode afetar a apresentação dos pacotes?
Informações
O FMM atual exige um servidor Minecraft 1.21.4 ou posterior. Permitir clientes mais recentes através de tradução de protocolo não torna um servidor antigo suportado.
Para diagnosticar o pacote, reproduza primeiro com um cliente da mesma versão suportada do servidor. Confirme que descarregou o pacote atual e consegue apresentar o formato de modelos de itens. Depois compare a ligação com tradução de protocolo. Registe as versões do servidor, cliente e plugin de protocolo; não atribua automaticamente todos os modelos ausentes ao ViaVersion.
Porque causam os modelos atraso ou problemas de desempenho?
Informações
Modelos com muitos ossos visíveis acrescentam trabalho de transformação, envio de pacotes e apresentação no cliente. O número de observadores também conta.
Java usa entidades transmitidas por pacotes por osso, excluindo vias de apresentação ocultas ou apenas de metadados. Bedrock pode representar o modelo completo através de uma entidade personalizada. Um modelo com 50 ossos não cria necessariamente 50 entidades normais no servidor nem envia 50 entidades visíveis a todos os clientes.
Otimização:
- Reduza o número de ossos.
- Limite o número de modelos ativos.
- Use modelos estáticos quando não precisar de uma entidade viva subjacente; modelos estáticos também podem ter animações.
- Evite concentrar muitos modelos complexos na mesma área.
Verificação: teste com quantidades realistas e acompanhe o TPS ao adicionar modelos.
Medição: execute /fmm packetdebug 20 na área afetada. Mostra contagens de pacotes e distribuição por observador nos próximos 20 ticks do relógio de modelos, incluindo os maiores destinatários e tipos de pacotes. Estes números ajudam a investigar o tráfego; não constituem um perfil de CPU nem provam que os clientes apresentaram os pacotes.
Otimizações de tráfego integradas:
Três opções de config.yml já usam as predefinições otimizadas. Os valores alternativos destinam-se a diagnóstico:
skipUnchangedBoneUpdates, predefiniçãotrue: ignora atualizações de transformação sem alterações, exceto se o osso tiver sido explicitamente marcado como alterado, por exemplo para mudar a tonalidade. Não elimina todo o processamento do modelo nem todo o tráfego dos observadores.useDeltaMetadataPackets, predefiniçãotrue: envia apenas a transformação alterada nos metadados, evitando serializar toda a apresentação do item.maxModelsForProximityOverride, predefinição25: modelos a menos de 10 blocos são normalmente apresentados sem verificar a linha de visão, evitando aparecimentos súbitos. Quando o mundo atinge este número de modelos, a exceção desativa-se e a oclusão é verificada mesmo ao perto. É especialmente útil em edifícios de NPC com vários pisos.
Consulte Configuração.
Funcionalidades avançadas
Preciso do Resource Pack Manager (RSPM)?
Informações
O RSPM é opcional, mas recomendado.
O que faz: combina pacotes de vários plugins, aloja-os sem exigir um serviço externo e distribui-os automaticamente ao entrar. Reduz a gestão manual, mas a seleção de fontes, o alojamento e a aceitação pelos clientes continuam a exigir verificação.
Sem RSPM: precisa de combinar o pacote FMM com os restantes e alojar o resultado numa URL de descarga acessível. Configure server.properties ou outro mecanismo para enviar essa URL aos jogadores; server.properties não aloja ficheiros. Atualize também o pacote sempre que adicionar modelos.
O RSPM oferece um processo comum para combinar, alojar e enviar pacotes. Ao investigar modelos ausentes, verifique o resultado gerado e um cliente real.
Descarregue o RSPM: https://www.spigotmc.org/resources/resource-pack-manager.118574/
É desenvolvido por MagmaGuy, tal como o FreeMinecraftModels.
Posso usar FreeMinecraftModels no meu plugin?
Informações
Sim, através da API de desenvolvimento.
Maven/Gradle:
Repositório: https://repo.magmaguy.com/releases
- GroupId:
com.magmaguy - ArtifactId:
FreeMinecraftModels - Scope:
provided; instale o FMM separadamente no servidor, sem o incorporar no seu JAR.
Classes principais:
ModeledEntity, classe base.StaticEntityDynamicEntityPropEntity
Exemplo:
StaticEntity staticEntity = StaticEntity.create(id, location);
if (staticEntity == null) {
Bukkit.getLogger().warning("Failed to create model");
return;
}
staticEntity.setRightClickCallback(...);
staticEntity.remove();
O FreeMinecraftModels deve permanecer instalado separadamente, sem ser incorporado no seu plugin.
Consulte o README oficial para mais detalhes.
Como disfarçar um jogador com um modelo personalizado?
Informações
/fmm disguise transforma a aparência do jogador num modelo personalizado.
Comandos:
/fmm disguise <modelID> [player]
/fmm undisguise [player]
/fmm disguiselist
O jogador fica invisível para os restantes e o modelo é apresentado na sua posição, acompanhando os movimentos. É útil em servidores de interpretação de personagens e eventos.
Exemplos:
/fmm disguise dragon # Disguise yourself
/fmm disguise dragon Steve # Disguise another player
/fmm undisguise Steve # Undisguise Steve
/fmm disguiselist # List everyone currently disguised
Requisitos:
- Para o próprio jogador:
freeminecraftmodels.disguise.self, predefinição OP. - Para
disguiseeundisguisecom alvo: ambasfreeminecraftmodels.disguise.selfefreeminecraftmodels.disguise.others.disguiselistexige apenas.others. - A consola precisa de indicar um jogador alvo.
- modelID deve corresponder exatamente a um modelo carregado.
- Outros plugins podem usar a API pública
DisguiseAPI.
Comportamento:
- A hitbox do jogador mantém-se.
- Os outros jogadores veem o modelo em vez da skin.
- Aplicar outro disfarce substitui o anterior.
- O FMM repõe a invisibilidade após alterações de efeitos relevantes apenas quando este disfarce acrescentou originalmente o efeito. Um efeito preexistente não é reposto. Consulte Disfarces de jogadores.
Como criar itens para colocar modelos?
Informações
/fmm itemify cria itens especiais que colocam modelos no mundo.
Comando:
/fmm itemify <model> <material>
model: ID válido da pasta de modelos.material: material Minecraft como STICK, PAPER ou DIAMOND.
Exemplo:
/fmm itemify lamp_post STICK
O item recebe um nome formatado a dourado, como «✦ Wolf ✦», e uma descrição. É entregue diretamente ao inventário; deixe espaço, pois o excedente não é largado. O clique direito com a mão principal coloca o elemento, sujeito às verificações do FMM. Fora do modo criativo, o item é consumido após uma criação bem-sucedida.
Utilizações:
- Itens para decorar construções.
- Equivalentes a «ovos de criação» para mobília.
- Distribuição de itens de colocação mantendo as verificações de proteção configuradas.
- Kits de construção criativa.
Exige freeminecraftmodels.* e execução por um jogador no jogo.
Como verificar as hitboxes dos modelos?
Informações
/fmm hitbox visualize mostra as hitboxes com partículas.
Comando:
/fmm hitbox visualize [duration]
duration é opcional e tem a predefinição de 100 ticks. Valores não positivos usam 100 ticks; o máximo é 1200. Vinte ticks equivalem a um segundo.
Exemplos:
/fmm hitbox visualize 100 # Show for 5 seconds
/fmm hitbox visualize 200 # Show for 10 seconds
Procura modelos a menos de 10 blocos e mostra os limites das caixas orientadas OBB com partículas, permitindo comparar a apresentação com os limites de colisão e verificar tamanho e rotação.
A deteção de projéteis verifica o segmento entre posições acompanhadas para detetar travessias de OBB finas; sem posição anterior, verifica sobreposições. Os impactos mais próximos são tratados primeiro. Um projétil normal dispõe de um impacto num alvo com modelo; uma flecha com Perfuração dispõe de pierce level + 1 impactos em alvos distintos. Cancelar o impacto impede o respetivo callback ou dano predefinido, mas continua a consumir o orçamento de alvos. Consulte a API de projéteis.
Use para comparar as hitboxes com o modelo, diagnosticar interações e cliques e verificar rotações. Exige freeminecraftmodels.*.
As hitboxes FMM rodam com o modelo, ao contrário das AABB normais do Minecraft.
Posso criar modelos personalizados montáveis?
Informações
Sim, com a funcionalidade experimental /fmm mount.
Comando:
/fmm mount <modelID>
Cria um cavalo na sua posição, disfarça-o com o modelo, domestica-o e coloca-lhe uma sela. Um tick depois, tenta montar o jogador: diretamente no cavalo se não houver pontos de montada, ou através de um suporte de armadura marcador se o modelo tiver um ponto de montada.
Exemplo:
/fmm mount dragon
Exige freeminecraftmodels.* e um ID válido.
Notas:
- É experimental.
- Usa um cavalo adulto domesticado com velocidade base
0.3e força de salto base0.7. - A hitbox do cavalo não muda.
- Funciona melhor com modelos preparados para montadas.
Pode criar montadas para interpretação de personagens, transporte especial para VIP ou criaturas montáveis em mapas de aventura.
O que são ossos de pontos de montada?
Informações
Permitem definir assentos diretamente no modelo. No Blockbench, use o prefixo m_, sensível a maiúsculas, como m_seat ou m_back. Cada osso cria uma posição de assento gerida para um jogador.
- A posição acompanha o osso, incluindo as animações.
- Vários ossos criam vários assentos.
- O gestor aceita jogadores pela API ou scripts Lua e escolhe o primeiro assento livre. Os assentos usam entidades Interaction temporárias de tamanho zero, atualizadas enquanto estão ocupados.
Verificação: crie ou coloque o elemento e clique nele com o botão direito, ou chame context.prop:mount(player) em Lua. /fmm mount <modelID> cria uma montada experimental baseada num cavalo, um mecanismo diferente.
São úteis para veículos com vários lugares, criaturas com assentos em posições específicas e companheiros montados no ombro.
Itens personalizados
O que são itens personalizados?
São itens para segurar na mão, definidos por material: no YAML junto do modelo. Têm a identidade fmm_item_id. Os itens de colocação criados com /fmm itemify usam model_id.
Crie um modelo e um YAML com o mesmo nome, defina material e, opcionalmente, name, lore e enchantments com espaço de nomes:
isEnabled: true
material: DIAMOND_SWORD
name: "&6Flame Blade"
enchantments:
- "minecraft:fire_aspect,2"
Use /fmm giveitem <id> ou /fmm admin, com freeminecraftmodels.admin.
Os itens personalizados ainda executam scripts Lua?
Não. O antigo ambiente de itens equipados e os seus 22 eventos foram removidos. Uma definição de item com scripts: não vazio é ignorada, tal como um encantamento sem espaço de nomes, como FIRE_ASPECT,2. O ficheiro não é convertido nem reescrito. Os scripts Lua de elementos decorativos mantêm-se.
Use Encantamentos geridos por fornecedores para efeitos e Definições de armas mágicas para varinhas e cajados.
Menus
Que menus fornece o FMM?
Informações
O FMM fornece estes dois menus de consulta, além dos menus separados de configuração, criação de receitas e loja opcional.
Menu do jogador, /fmm:
- Exige
freeminecraftmodels.menu, predefinição true, disponível para todos. - Mostra apenas entradas com receitas de fabrico registadas com sucesso;
registerCraftingRecipes: falseremove-as deste menu. - Clicar num item mostra os detalhes e a grelha 3x3.
- Permite consultar receitas dos itens de papel para colocar elementos decorativos; são distintos dos itens para segurar definidos pelo autor.
Menu de administração, /fmm admin:
- Exige
freeminecraftmodels.admin, predefinição OP. - Apresenta pacotes ativos com conteúdo carregado, pastas sem pacote, modelos na raiz e itens personalizados registados com sucesso.
- As entradas de pacotes e pastas abrem listas; as entradas individuais entregam itens. Use
/fmm setuppara ativar e descarregar pacotes.
Modelos de apresentação
O que são modelos de apresentação?
Informações
Permitem apresentar itens personalizados em 3D na mão e inventário, substituindo o aspeto do material base.
Configuração:
- No Blockbench, use Ficheiro > Exportar > Java Block/Item para exportar um
.json. - Coloque-o junto do
.bbmodel, com o mesmo nome base: por exemplo,magic_sword.jsonemagic_sword.bbmodel. - Execute
/fmm reload.
Funcionamento:
- Um modelo de apresentação registado pode substituir o aspeto na mão e inventário quando o cliente aceita o pacote gerado.
- Referências de texturas sem espaço de nomes usam a chave numérica correspondente. Se faltar, usam uma textura extraída disponível, sem garantir que seja o índice zero. Referências com espaço de nomes são preservadas.
- Sem
.json, o item mantém o aspeto do material normal. - O plugin exige Minecraft 1.21.4 ou posterior. Os ramos antigos de apresentação não tornam servidores anteriores suportados.
Exige um servidor 1.21.4 ou posterior e uma exportação válida «Java Block/Item» (.json) junto do modelo. JSON malformado não é registado. Grupos de estados de arcos e bestas exigem todos os modelos de estado e ficheiros JSON de apresentação correspondentes.