Saltar para o conteúdo principal

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:

  1. Descarregue FreeMinecraftModels.jar e coloque-o na pasta de plugins.
  2. Reinicie o servidor para gerar as pastas.
  3. Execute /fmm setup para abrir a instalação inicial e gestão de conteúdo.
  4. Para pacotes oficiais, associe a conta com /nightbreaklogin <token>.
  5. Use /fmm setup ou /fmm downloadall para conteúdo oficial gerido pelo Nightbreak.
  6. Para modelos avulsos, coloque os ficheiros com a extensão minúscula .bbmodel diretamente 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.
  7. 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; exige freeminecraftmodels.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; exigem nightbreak.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 em shop_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 reload e 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: concede freeminecraftmodels.admin, freeminecraftmodels.deleteall, freeminecraftmodels.disguise.self, freeminecraftmodels.disguise.others e freeminecraftmodels.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 applypluginupdate e /fmm forcereinstallcontent.
  • freeminecraftmodels.admin, predefinição OP: /fmm admin e /fmm giveitem.
  • freeminecraftmodels.disguise.self, predefinição OP: disfarçar e remover o disfarce do próprio jogador.
  • disguise e undisguise com alvo exigem freeminecraftmodels.disguise.self e freeminecraftmodels.disguise.others. disguiselist exige 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 shop quando a loja está ativa.
  • nightbreak.login, predefinição OP: registada pelo MagmaCore, fora de plugin.yml; exigida por /nightbreaklogin e /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.4 e recentra cada osso. O limiar de aviso é 192 nessas 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 de idle.
  • 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 de idle.
  • death: uma execução ao remover por removeWithDeathAnimation().

Os restantes nomes são animações personalizadas. Precisam de ativação explícita pela API ou Lua.

Sobre jump

JUMP 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 .bbmodel na 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) numa ModeledEntity ou context.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 gera has 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ção true: 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ção true: envia apenas a transformação alterada nos metadados, evitando serializar toda a apresentação do item.
  • maxModelsForProximityOverride, predefinição 25: 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.
  • StaticEntity
  • DynamicEntity
  • PropEntity

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 disguise e undisguise com alvo: ambas freeminecraftmodels.disguise.self e freeminecraftmodels.disguise.others. disguiselist exige 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.3 e força de salto base 0.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: false remove-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 setup para 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:

  1. No Blockbench, use Ficheiro > Exportar > Java Block/Item para exportar um .json.
  2. Coloque-o junto do .bbmodel, com o mesmo nome base: por exemplo, magic_sword.json e magic_sword.bbmodel.
  3. 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.