FreeMinecraftModels
FreeMinecraftModels ist sowohl eine Laufzeitumgebung für benutzerdefinierte Modelle als auch eine API für Entwickler.
Das aktuelle Plugin ist nicht mehr nur ein "imports-Ordner plus /fmm reload"-Workflow. Die aktuelle Codebasis bietet zusätzlich:
- einen Ersteinrichtungs-Ablauf und eine Erinnerung beim Beitritt, bis die Einrichtung als abgeschlossen markiert ist
- ein Nightbreak-gestütztes Einrichtungsmenü für offizielle Modellpaket-Installationen und -Updates
- einen generierten Ressourcenpaket-Ordner unter
plugins/FreeMinecraftModels/output/FreeMinecraftModels - ein gezipptes Paket-Artefakt unter
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip - eine erweiterte Befehlsoberfläche für Einrichtung, Inhaltsaktualisierungen, Spawning, Verkleidungen, Props und Debugging
- Mount-Point-Bones — Bones, deren Name mit
mount_beginnt, erzeugen reitbare Sitzpunkte an einem Modell, sodass Spieler benutzerdefinierte Entitäten reiten können - Benutzerdefiniertes Display-Modell-JSON — platziere eine begleitende
.json-Datei (Blockbench-Display-Item-Export) neben einer.bbmodel-Datei, um das In-Game-Aussehen des Items zu überschreiben (erfordert 1.21.4+) - Benutzerdefinierte, skriptfähige Items — Modelle, deren YML-Konfiguration
material:setzt, werden zu haltbaren benutzerdefinierten Items mit voller Lua-Skripting-Unterstützung und 22 Item-Hooks - Admin-Inhaltsbrowser (
/fmm admin) — ein Inventarmenü für Admins zum Durchsuchen installierter Pakete, Ordner, Modelle und benutzerdefinierter Items - Spieler-Menü für craftbare Items (
/fmm) — ein Inventarmenü, das alle craftbaren Items mit ihren Rezepten zeigt; ein Klick auf ein Item zeigt das räumliche 3x3-Gitter mit Pfeil und Ausgabe - Spieler-Verkleidungssystem —
/fmm disguise <model> [player],/fmm undisguise [player],/fmm disguiselist, mit einer öffentlichenDisguiseAPIfür Drittanbieter-Plugins - Möbelshop — optionaler Vault-gestützter
/fmm shopzum Verkauf craftbarer Props, konfigurierbar pro Rezept übershopEnabled/shopPrice - Spieler-UI-API — Lua-Skripte können Boss-Bars, Action-Bars und Titel für Spieler anzeigen
- LocationAPI — Drittanbieter-Plugins können Dungeon-Detektoren und Schutzanbieter registrieren, die FMMs Lua-Prädikate
em.location.is_in_dungeonundem.location.is_protectedantreiben
Hier starten
Lua-Skripting
FreeMinecraftModels enthält Lua-Skripting-Unterstützung sowohl für Props als auch für benutzerdefinierte Items, angetrieben durch die MagmaCore 2.0 Skript-Engine. Skripte befinden sich in plugins/FreeMinecraftModels/scripts/.
Prop-Hooks (8)
Prop-Skripte können auf folgende Hooks reagieren:
| Hook | Auslöser |
|---|---|
on_spawn | Prop wird in die Welt gespawnt |
on_game_tick | Jeden Spiel-Tick, während der Prop existiert |
on_zone_enter | Ein Spieler betritt die Interaktionszone des Props |
on_zone_leave | Ein Spieler verlässt die Interaktionszone des Props |
on_destroy | Prop wird aus der Welt entfernt |
on_left_click | Ein Spieler klickt den Prop links an |
on_right_click | Ein Spieler klickt den Prop rechts an |
on_projectile_hit | Ein Projektil trifft den Prop |
Prop-Skripte erhalten eine context.prop-Tabelle mit Feldern wie model_id und current_location sowie Methoden wie play_animation(name) und stop_animation().
Item-Hooks (22)
Benutzerdefinierte Item-Skripte (für Modelle mit gesetztem material: in ihrer YML) können auf folgende Hooks reagieren:
| Hook | Auslöser |
|---|---|
on_equip | Item wird ausgerüstet (kommt in einen aktiven Slot) |
on_unequip | Item wird abgelegt (verlässt einen aktiven Slot) |
on_attack_entity | Spieler greift eine Entität an, während er das Item hält |
on_kill_entity | Spieler tötet eine Entität, während er das Item hält |
on_take_damage | Spieler erleidet Schaden, während das Item ausgerüstet ist |
on_shield_block | Spieler blockt Schaden mit einem Schild |
on_shoot_bow | Spieler schießt mit einem Bogen |
on_projectile_hit | Ein vom Spieler abgefeuertes Projektil trifft etwas |
on_projectile_launch | Spieler startet ein Projektil |
on_right_click | Spieler klickt rechts, während er das Item hält |
on_left_click | Spieler klickt links, während er das Item hält |
on_shift_right_click | Shift + Rechtsklick, während er das Item hält |
on_shift_left_click | Shift + Linksklick, während er das Item hält |
on_interact_entity | Spieler klickt eine Entität rechts an, während er das Item hält |
on_swap_hands | Item wird zwischen den Händen getauscht |
on_drop | Spieler lässt das Item fallen |
on_break_block | Spieler bricht einen Block, während er das Item hält |
on_consume | Item wird konsumiert (Nahrung/Trank) |
on_item_damage | Item nimmt Haltbarkeitsschaden |
on_fish | Spieler benutzt eine Angel |
on_death | Spieler stirbt, während das Item ausgerüstet ist |
on_game_tick | Jeden Server-Tick, während das Item ausgerüstet ist |
Item-Skripte erhalten eine context.item-Tabelle mit Feldern und Methoden, die für das gehaltene Item und den haltenden Spieler relevant sind. Lua-Skripte können außerdem die Spieler-UI-API nutzen, um Boss-Bars, Action-Bars und Titel anzuzeigen.
Aktuelle Hinweise
- Offizielle Nightbreak-verwaltete Pakete, die ins Plugin integriert sind:
Basic Furniture Pack,BetterStructures Prop Pack,EliteMobs Prop Pack,Craftenmine's Weapons Item PackundCraftenmine Tools Item Pack. - FreeMinecraftModels baut seine Ressourcenpaket-Ausgabe beim Start und bei
/fmm reloadneu auf und sendet einFmmReloadedEvent, damit abhängige Plugins ihre Modellreferenzen erneut anhängen können. - ResourcePackManager bleibt die empfohlene Methode, das generierte Paket automatisch an Clients zu verteilen.