FreeMinecraftModels
FreeMinecraftModels é tanto um runtime de modelos customizados quanto uma API voltada para desenvolvedores.
O plugin atual não é mais apenas um fluxo de trabalho de "pasta imports mais /fmm reload". A base de código atual adiciona:
- um fluxo de configuração inicial e lembrete ao entrar até que a configuração seja marcada como concluída
- um menu de configuração gerenciado pelo Nightbreak para instalação e atualização de pacotes oficiais de modelos
- uma pasta de resource pack gerado em
plugins/FreeMinecraftModels/output/FreeMinecraftModels - um artefato de pack compactado em
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip - uma superfície de comandos mais ampla para configuração, atualizações de conteúdo, spawn, disfarces, props e depuração
- bones de ponto de montaria — bones cujo nome começa com
mount_criam pontos de assento montáveis em um modelo, permitindo que jogadores montem entidades customizadas - JSON de modelo de exibição customizado — coloque um arquivo
.jsonirmão (exportação de display-item do Blockbench) ao lado de um.bbmodelpara substituir a aparência do item no jogo (requer 1.21.4+) - itens customizados programáveis — modelos cuja configuração YML define
material:tornam-se itens seguráveis customizados com suporte completo a scripting Lua e 22 hooks de item - navegador de conteúdo para admins (
/fmm admin) — um menu de inventário para admins navegarem pacotes instalados, pastas, modelos e itens customizados - menu de itens craftáveis para jogadores (
/fmm) — um menu de inventário mostrando todos os itens craftáveis com suas receitas; clicar em um item mostra a grade espacial 3x3 com seta e resultado - API de UI para jogadores — scripts Lua podem exibir boss bars, action bars e títulos para jogadores
Comece Aqui
Scripting Lua
FreeMinecraftModels inclui suporte a scripting Lua tanto para props quanto para itens customizados, alimentado pelo motor de scripting MagmaCore 2.0. Os scripts ficam em plugins/FreeMinecraftModels/scripts/.
Hooks de Prop (8)
Scripts de props podem responder aos seguintes hooks:
| Hook | Gatilho |
|---|---|
on_spawn | Prop é gerado no mundo |
on_game_tick | A cada tick de jogo enquanto o prop está vivo |
on_zone_enter | Um jogador entra na zona de interação do prop |
on_zone_leave | Um jogador sai da zona de interação do prop |
on_destroy | Prop é removido do mundo |
on_left_click | Um jogador clica com o botão esquerdo no prop |
on_right_click | Um jogador clica com o botão direito no prop |
on_projectile_hit | Um projétil atinge o prop |
Scripts de props recebem uma tabela context.prop com campos como model_id e current_location, e métodos como play_animation(name) e stop_animation().
Hooks de Item (22)
Scripts de itens customizados (para modelos com material: definido no seu YML) podem responder aos seguintes hooks:
| Hook | Gatilho |
|---|---|
on_equip | Item é equipado (entra em um slot ativo) |
on_unequip | Item é desequipado (sai de um slot ativo) |
on_attack_entity | Jogador ataca uma entidade enquanto segura o item |
on_kill_entity | Jogador mata uma entidade enquanto segura o item |
on_take_damage | Jogador recebe dano enquanto o item está equipado |
on_shield_block | Jogador bloqueia dano com um escudo |
on_shoot_bow | Jogador dispara um arco |
on_projectile_hit | Um projétil disparado pelo jogador atinge algo |
on_projectile_launch | Jogador lança um projétil |
on_right_click | Jogador clica com o botão direito enquanto segura o item |
on_left_click | Jogador clica com o botão esquerdo enquanto segura o item |
on_shift_right_click | Shift + clique direito enquanto segura |
on_shift_left_click | Shift + clique esquerdo enquanto segura |
on_interact_entity | Jogador clica com o botão direito em uma entidade enquanto segura |
on_swap_hands | Item é trocado entre as mãos |
on_drop | Jogador descarta o item |
on_break_block | Jogador quebra um bloco enquanto segura o item |
on_consume | Item é consumido (comida/poção) |
on_item_damage | Item sofre dano de durabilidade |
on_fish | Jogador usa uma vara de pesca |
on_death | Jogador morre enquanto o item está equipado |
on_game_tick | A cada tick do servidor enquanto o item está equipado |
Scripts de itens recebem uma tabela context.item com campos e métodos relevantes ao item segurado e ao jogador que o segura. Scripts Lua também podem usar a API de UI do jogador para exibir boss bars, action bars e títulos.
Notas Atuais
- Os pacotes oficiais gerenciados pelo Nightbreak incluídos no plugin atualmente são
Basic Furniture Pack,BetterStructures Prop PackeEliteMobs Prop Pack. - FreeMinecraftModels reconstrói sua saída de resource pack durante a inicialização e ao executar
/fmm reload. - ResourcePackManager ainda é a forma recomendada de distribuir o pack gerado automaticamente para os clientes.