FreeMinecraftModels Haustiere
FreeMinecraftModels kann ein Modell zu einer Haustierart machen. Spieler zähmen Haustiere mit Futter, züchten sie, nehmen sie mit, befehlen ihnen zu bleiben und verwalten sie in einer Sammlung, die sie mit /fmm pets öffnen. Jede Art wird durch eine Datei <species>.pet.yml definiert, die neben ihrem Modell liegt, sodass ein Modellpaket seine Haustiere zusammen mit seinen Modellen installiert, aktiviert und deaktiviert. Was ein Haustier von selbst tut, vom Folgen seines Besitzers bis zum Umkreisen von Lagerfeuern, kommt aus den Lua-Verhaltensmodulen, die seine Datei auflistet. Serverweite Haustiereinstellungen stehen in pets.yml.
Voraussetzungen
- Ein Haustier ist ein verborgener Vanilla-Mob, der das Modell trägt und von MagmaCores Mind-KI gesteuert wird. Dafür braucht es die NMS-Unterstützung von FreeMinecraftModels für die Serverversion und Minecraft 1.21.4 oder neuer. Fehlt sie, protokolliert die Konsole beim Start eine Zeile, die mit
Pets are off:beginnt, und/fmm petsantwortetPets are not available on this server. - FreeMinecraftModels liefert keine Haustierarten mit. Haustiere gibt es erst, wenn ein Modellpaket oder du eine
.pet.yml-Datei hinzufügst. - Spieler brauchen das generierte Ressourcenpaket, wie bei jedem Modell.
Wie ein Haustier aufgebaut ist
- Der Körper ist der Vanilla-Mob, den
bodyin der Haustierdatei nennt, standardmäßig ein Hilfsgeist. Er ist im Modell verborgen, lautlos und hebt nie Items auf. Seine maximale Gesundheit isthealthaus der Haustierdatei. - Klicks treffen das Modell, das Spieler sehen, nicht den kleineren Körper darin.
- Haustiere visieren nie etwas an, und Mobs visieren nie Haustiere an.
- Der Kontaktschaden von FreeMinecraftModels ist für Haustiere aus. Ein Haustier verletzt etwas nur über das Modul
sting. - Ein Haustier, das stirbt, lässt nichts fallen und gibt keine Erfahrung.
- Haustierkörper werden nie mit ihrem Chunk gespeichert. Haustiere im Besitz werden neben ihrem Besitzer neu erzeugt, und wilde Haustiere warten in
data/wild_pets.yml(siehe Wilde Haustiere). Ein Haustierkörper, der nach einem Absturz in einem Chunk zurückbleibt, wird beim Laden des Chunks entfernt. - Das Modell zeigt den
nameder Art über sich, bei Babys mit vorangestelltemBaby.
Haustier-Modi
pets.yml kennt zwei Modi:
| Modus | Was passiert |
|---|---|
COSMETIC (Standard) | Es existieren nur Haustiere im Besitz von Spielern in der Welt, abgesehen von vorüberziehenden nächtlichen Wanderungen. Nichts anderes spawnt wild, und nichts kann gezähmt werden. Haustiere im Besitz können von nichts verletzt werden |
CREATURES | Haustierarten leben auch wild in der Welt, gespawnt wie Vanilla-Nutztiere, und Spieler zähmen sie durch Füttern. Haustiere im Besitz können verletzt werden, im Rahmen der Schadensregeln |
Wechsle den Modus mit der Schaltfläche Pets in der Symbolleiste von /fmm setup, mit /fmm petadmin mode creatures oder /fmm petadmin mode cosmetic oder indem du mode in pets.yml bearbeitest und /fmm reload ausführst. Die Schaltfläche und der Befehl schreiben den neuen Modus in pets.yml.
Der Wechsel zu COSMETIC schickt die lebenden wilden Haustiere nach data/wild_pets.yml. Sie kommen zurück, wenn der Server wieder auf CREATURES wechselt. Nächtliche Wanderungen finden in beiden Modi statt, aber nur CREATURES erlaubt Spielern, ein Wandertier zu zähmen.
Im Modus COSMETIC zähmen Spieler keine Haustiere. /fmm petadmin give <species> fügt der Sammlung des Spielers, der den Befehl ausführt, ein Haustier hinzu. Die Zucht funktioniert in beiden Modi.
Zähmen
Im Modus CREATURES zähmt ein Spieler ein wildes ausgewachsenes Tier, indem er es mit einem der tamingFood-Items seiner Art rechtsklickt.
- Jede Fütterung verbraucht ein Item, außer im Kreativmodus.
- Jede Fütterung zähmt mit der Wahrscheinlichkeit
tameChance, standardmäßig1/3, wie bei Wölfen und Katzen. Eine misslungene Fütterung zeigt Rauch undtameFailedMessage. - Ein gezähmtes Haustier kommt in die Sammlung des Spielers und kommt neben ihm heraus. Es behält die Farbvariante, die es in freier Wildbahn hatte, und spielt einmal seine Animation
interactab. - Hat der Spieler bereits
maxEquippedPetsHaustiere draußen, geht das neue Haustier stattdessen nach Hause in die Sammlung. - Eine Art mit leerer Liste
tamingFoodkann nicht gezähmt werden.
Eine Leine funktioniert am Körper eines Haustiers wie bei einem Vanilla-Mob.
Zucht und Babys
- Rechtsklickt der Besitzer ein ausgewachsenes Haustier mit einem seiner
breedingFood-Items, verbraucht es ein Item und versetzt das Haustier fürloveSecondsin Liebe, standardmäßig30. - Zwei ausgewachsene Tiere derselben Art im Besitz desselben Spielers, beide in Liebe und höchstens 8 Blöcke voneinander entfernt, bekommen ein Baby. Das Baby kommt in die Sammlung des Besitzers und kommt heraus, außer der Besitzer ist bei
maxEquippedPets. - Das Baby übernimmt die Farbvariante eines Elternteils. Es trägt
babyModel, wenn die Art eines festlegt, sonst das Modell seiner Variante, und ist in beiden FällenbabyScaleder Größe eines ausgewachsenen Tieres. - Beide Elternteile warten
breedingCooldownMinutes, standardmäßig5, bevor sie sich wieder paaren können. Wird ein Elternteil in dieser Zeit gefüttert, erscheintbreedingCooldownMessage. - Ein Baby wächst
babyGrowthMinutesnach seiner Geburt heran, standardmäßig20. Die Zeit zählt auch, während das Baby zu Hause ist, und das ausgewachsene Tier erscheint, wenn das Baby das nächste Mal draußen ist. - Babys können sich nicht paaren und spielen beim Stechen keine Angriffsanimation ab.
Die Eltern spielen ihre Animation interact ab, wenn ein Baby geboren wird.
Folgen, Bleiben und Umherstreifen
Mit den mitgelieferten Verhalten bleibt ein Haustier im Besitz, das draußen ist, in der Nähe seines Besitzers. Die folgenden Zahlen sind die Standardwerte der Module follow_owner, stay, drift und hover sowie der Schlüssel follow und float der Art:
- Sobald der Besitzer weiter als
follow.distance(5Blöcke) entfernt ist, folgt das Haustier und zielt dabei 1,5 Blöcke hinter ihn, bei einer fliegenden Artfloat.hoverHeightüber seine Füße. Ein Flieger folgt beifollow.speed: 1mit 5 Blöcken pro Sekunde und jenseits vonfollow.leashDistance(12) mit 8 Blöcken pro Sekunde. Das Haustier hört auf zu folgen, sobald es diesen Punkt erreicht hat oder höchstens 3 Blöcke (0,6 der Folgedistanz) von seinem Besitzer entfernt ist. - Jenseits von
follow.teleportDistance(24) teleportiert sich das Haustier neben seinen Besitzer. Es teleportiert sich auch nach 3 Sekunden in Folge, in denen es nirgendwohin kommt: kein Pfad zum Besitzer, ein Pfad, der vor ihm an einem Zaun oder Ufer endet, oder eine Wand im Weg eines Fliegers. Ein Aufholen setzt ein Haustier immer nur näher an seinen Besitzer und setzt einen Läufer oder Schwimmer nie auf den Block seines Besitzers. - Innerhalb der Folgedistanz driftet ein Flieger zu zufälligen Punkten im Umkreis von
follow.roamRadius(5) um den Besitzer und schaukelt zwischen den Drifts auf der Stelle, wobei erfloat.hoverHeightüber dem Boden hält, plus/minusfloat.hoverVariance. Laufende Arten wandern und schauen gelegentlich einen Spieler in der Nähe an; schwimmende Arten schwimmen unter Wasser. - Rechtsklickt der Besitzer das Haustier mit etwas anderem als seinem Zuchtfutter oder einer Leine, bleibt es wie ein Hund an Ort und Stelle und schaukelt sanft. Der nächste solche Klick sagt ihm, dass es wieder folgen soll. Setze
follow.stay: false, um das auszuschalten. Klicks anderer Spieler auf ein Haustier im Besitz bewirken nichts.
follow.speed multipliziert die Geschwindigkeit jedes mitgelieferten Verhaltens außer dem Wanderflug. Fliegende Körper werden direkt gesteuert. Andere Körper laufen oder schwimmen mit der Vanilla-Wegfindung zu denselben Punkten; siehe Geschwindigkeiten. Haustiere, die nicht schwimmen, schweben über Wasser- und Lavaoberflächen, statt auf den Grund zu sinken.
Ein wildes Haustier streift auf dieselbe Weise um den Ort, an dem es gespawnt ist.
Haustiere, die draußen sind, verlassen die Welt, wenn ihr Besitzer sich abmeldet, und kommen beim nächsten Beitritt neben ihm wieder heraus. Ein Haustier, das durch das Entladen eines Chunks, einen Weltwechsel oder einen weiten Teleport verloren ging, kommt innerhalb einer Sekunde neben seinem Besitzer zurück.
Das Haustier-Menü
/fmm pets öffnet die Sammlung des Spielers als Truhenmenü mit dem Titel menuTitle. Es zeigt bis zu 54 Haustiere.
- Jeder Eintrag zeigt das
icon-Item der Art, mit ihremiconItemModel, wenn die Art eines festlegt. Haustiere, die draußen sind, glitzern. - Die Lore zeigt die Art, die Variante (wenn sie vom Artmodell abweicht), das Alter und ob das Haustier beim Spieler ist.
- Ein Klick auf einen Eintrag nimmt das Haustier mit oder schickt es nach Hause. Ein Haustier mehr als
maxEquippedPetsmitzunehmen wird mitmaxEquippedMessageabgelehnt. - Ein Spieler ohne Haustiere erhält
noPetsMessagestatt des Menüs.
Die Sammlung wird am Spieler gespeichert, als JSON in den persistenten Daten des Spielers, reist also mit der Speicherdatei des Spielers und braucht keine Datenbank. Ein Haustier, dessen Art nicht mehr installiert ist, bleibt mit einem Barriere-Symbol in der Sammlung und kommt nicht heraus.
Schaden und Tod
| Haustier | Schaden |
|---|---|
Im Besitz, Modus COSMETIC | Ignoriert jeden Schaden |
Im Besitz, Modus CREATURES | Ignoriert Schaden von seinem Besitzer. Ignoriert Schaden von anderen Spielern, solange petsInvulnerableToPlayers true ist (der Standard). Anderer Schaden wirkt |
| Wild | Erleidet Schaden wie jeder Mob |
Ein Linksklick auf ein Haustier, das nicht verletzt werden kann, zählt nicht als Angriff, das Modell blinkt also nicht rot.
Stirbt ein Haustier im Besitz, geht es nach Hause und kann über /fmm pets wieder herausgeholt werden. Mit petsDiePermanently: true verlässt es stattdessen die Sammlung. Ein wildes Haustier, das stirbt, ist weg.
Wilde Haustiere
Wilde Haustiere gibt es nur im Modus CREATURES. Sie leben wie Vanilla-Nutztiere: Die meisten kommen mit der Welt, während Chunks generiert werden, sie bleiben, wo sie sind, und sie despawnen nie.
Neue Chunks bestücken
Wenn ein Chunk generiert wird, würfelt FreeMinecraftModels wildGenerationChance (0.01). Bei einem Erfolg platziert es eine Gruppe einer Art, unter den Arten, die dort stehen dürfen, nach wildSpawn.weight gewählt, auf der Oberfläche um eine zufällige Spalte. Der Wurf wiederholt sich nach jeder Gruppe. Werte über 0.9 zählen als 0.9, damit sich ein Chunk nie endlos füllt. Obergrenzen, Spieler, Tageszeit und die Spielregel für Mob-Spawning begrenzen dieses Bestücken nicht.
Auffüllungen rund um Spieler
Alle wildSpawnIntervalTicks (400, nie weniger als 20) fügt ein Durchgang wilde Haustiere in geladenen Chunks im Umkreis von 8 Chunks um jeden Spieler hinzu, der nicht im Zuschauermodus ist:
- Jeder Chunk wird mit der Wahrscheinlichkeit
wildSpawnChunkChance(0.01) versucht. - Ein Ort muss mehr als 24 Blöcke vom nächsten Spieler und vom Weltspawn und höchstens 128 Blöcke von diesem Spieler entfernt sein.
- Die Auffüllungen enden, sobald
wildPetCapPerPlayer(6) wilde Haustiere aller Arten innerhalb von 8 Chunks um jeden Spieler nahe dem Ort sind. DiewildSpawn.cap(4) jeder Art begrenzt diese Art weiter. - Auffüllungen beachten die Spielregel für Mob-Spawning der Welt und
wildSpawn.timejeder Art.
Wandertiere zählen nicht zu diesen Obergrenzen.
Wo wilde Haustiere warten
Wenn der Chunk eines wilden Haustiers entladen wird oder nicht mehr tickt, gehen seine Art, Variante, Position und Heimat nach plugins/FreeMinecraftModels/data/wild_pets.yml. Es kommt zurück, wenn ein Spieler innerhalb von 8 Chunks um diesen geladenen Chunk ist. Die Datei wird geschrieben, wann immer die Welten speichern, und wenn FreeMinecraftModels herunterfährt oder neu lädt.
Wilde Haustiere einer Art, die nicht mehr installiert ist, warten weiter in der Datei. Ein lebendes wildes Haustier, das ein anderes Plugin entfernt, ist weg, als wäre es gestorben.
Nächtliche Wanderungen
Hin und wieder überquert ein Schwarm einer wandernden Art den Nachthimmel über einem Spieler und verschwindet nach der Überquerung. Eine Art wandert, wenn ihre locomotion FLYING ist, ihre Haustierdatei einen Abschnitt migration: hat und ihre Verhalten migrate ausführen, was die FLYING-Standardwerte einschließen. Hat eine Art Varianten, muss jede Variante, die ein Wandertier tragen kann, migrate ausführen. Eine Art mit einem Abschnitt migration:, die diese Bedingungen nicht erfüllt, startet nie Schwärme und protokolliert beim Laden eine Warnung, außer ihr migration.weight ist 0 oder ihr migration.enabled ist false.
- Der Zeitplan schaut nachts alle 5 Sekunden in normalen Welten (Oberwelt-Typ) nach. Jeder Spieler erhält pro Nacht einen Wurf gegen
migrations.chancePerNight(0.15). Ein gewonnener Wurf wählt einen Zeitpunkt in der restlichen Nacht, früh genug, dass die ganze Überquerung bis zur Morgendämmerung endet. - In diesem Moment startet der Schwarm, wenn der Spieler unter freiem Himmel steht, kein anderer Schwarm innerhalb von
migrations.viewDistancevon ihm ist und weniger alsmigrations.maxActiveFlocks(3) Schwärme in der Luft sind. Andernfalls versucht er es erneut, bis die Nacht vorbei ist. - Ein Schwarm hat
minFlockSizebismaxFlockSizeMitglieder (8bis14), fliegtaltitudeBlöcke (28) über dem höheren Wert von Spieler und Boden unter ihm, mitspeedBlöcken pro Tick (0.15), auf einer geraden Bahn, die nach der Hälfte vondurationSeconds(90) über den Spieler führt, oder früher, wenn die Simulationsdistanz der Welt unter 12 Chunks liegt, da der Schwarm dort startet, wo seine Mitglieder noch ticken. - Mitglieder sind gewöhnliche wilde Haustiere der Art mit vollem Modell und allen Animationen, bei
migration.scalemal der Größe der Art, voll aufgehellt und ausmigrations.viewDistance(160) Blöcken sichtbar. Clients brauchen die Chunks unter dem Schwarm weiterhin in ihrer Renderdistanz. - Im Modus
CREATURESkann ein Spieler, der ein Wandertier erreicht, es zähmen, wodurch es den Schwarm verlässt. Endet die Überquerung, werden die noch fliegenden Mitglieder entfernt.
/fmm petmigrate [species] schickt sofort einen Schwarm über dich, unabhängig von Uhrzeit, Himmel oder anderen Schwärmen. Mit einer Art startet er auch, wenn diese Art keinen Abschnitt migration: hat, aber ihre Mitglieder fliegen die Route nur, wenn sie migrate ausführen. Ohne Art wählt er eine wandernde Art nach migration.weight.
Abschnitt „migration“
| Schlüssel | Standard | Bedeutung |
|---|---|---|
enabled | true | false schaltet die Wanderungen der Art aus und behält die übrigen Werte |
model | leer | Ein festes Modell für jedes Mitglied. Leer wählt unter den Varianten der Art, wie bei einem wilden Spawn |
scale | 1 | Größe eines Wandertiers relativ zum scale der Art |
animation | leer | Eine Animation, die beim Fliegen geloopt wird. Leer spielt das eigene idle und walk des Modells |
weight | 1 | Wie oft diese Art gewählt wird, wenn mehrere wandern. 0 hält sie aus dem nächtlichen Zeitplan heraus |
Verhalten
Alles, was ein Haustier von selbst tut, kommt aus Verhaltensmodulen: Lua-Dateien in plugins/FreeMinecraftModels/pet_behaviors/. FreeMinecraftModels liefert 15 davon mit und schreibt jedes beim Start und bei /fmm reload in diesen Ordner, wenn dort keine Datei dieses Namens liegt. Ein gelöschtes mitgeliefertes Modul kommt beim nächsten Laden zurück. Ein Modul, das schon im Ordner liegt, wird nie überschrieben, bearbeitet oder nicht, und behält so die Version, mit der es geschrieben wurde: Lösche deine Kopie und lade neu, um die Version zu erhalten, die deine FreeMinecraftModels-Version mitliefert.
Jedes Haustier führt die Module aus, die seine Artdatei auflistet, mit den Einstellungen dieser Art. /fmm reload liest die Module und die Haustierdateien neu ein und bringt jedes Haustier mit ihnen zurück. Um ein Modul zu ändern oder ein eigenes zu schreiben, siehe Haustier-Verhaltensmodule.
Die Liste behaviors
behaviors:
- migrate
- stay
- follow_owner
- campfire: { radius: 20, night_only: false }
- drift
- hover
- sting:
effect: POISON
damage: 1
- Jeder Eintrag ist ein Modulname, also der Dateiname ohne
.lua, oder der Name mit Einstellungen: inline alsname: { setting: value }oder in den Zeilen darunter, zwei Leerzeichen weiter eingerückt als der Name. - Eine Einstellung, die der Eintrag weglässt, behält den Standardwert des Moduls. Die Standardwerte stehen unter Mitgelieferte Module und am Anfang jeder
.lua-Datei. - Ein Haustier führt nur aus, was seine Liste nennt. Lässt du ein Modul weg, tut die Art es nie.
- Die Reihenfolge der Liste entscheidet nicht, welches Verhalten läuft. Das tut die Priorität jedes Moduls, und eine Haustierdatei kann sie nicht ändern: Kopiere das Modul und ändere die Priorität dort. Die Reihenfolge zählt nur, wenn zwei Module kollidieren; dann bleibt das erste erhalten.
- Ein Modul, das zweimal aufgelistet ist, läuft einmal, mit den Einstellungen des ersten Eintrags, und die Konsole warnt.
Standardwerte ohne Liste
Eine Artdatei ohne Liste behaviors: führt die Standardwerte ihrer Fortbewegung aus:
locomotion | Standardverhalten |
|---|---|
FLYING | migrate, stay, follow_owner, drift, hover |
GROUNDED, AMPHIBIOUS | stay, follow_owner, wander, idle_look |
AQUATIC | stay, follow_owner, swim |
STATIONARY | stay, follow_owner |
Eine Liste ersetzt diese Standardwerte, statt sie zu ergänzen. Eine Liste, die ein Modul hinzufügt, muss daher auch die Standardmodule nennen, die sie behält. behaviors: [] führt gar keine Module aus. Ein behaviors-Wert, der keine Liste ist, wird mit einer Warnung ignoriert, und die Art führt ihre Standardwerte aus.
Verhalten von Varianten
Schreibe eine Variante als Map, um den Haustieren, die sie tragen, weitere Module oder andere Einstellungen zu geben:
variants:
- firefly
- model: firefly_blue
weight: 0.5
behaviors:
- night_glow: { light: 10 }
- crop_drizzle
- Eine Varianten-Map nimmt
model,weight(Standard1) undbehaviorsentgegen. Jeder andere Schlüssel wird mit einer Warnung ignoriert. - Ein Haustier, das die Variante trägt, führt die Liste der Art oder die Standardwerte ihrer Fortbewegung aus, plus die Einträge der Variante. Ein Modul, das beide Listen nennen, behält seinen Platz in der Liste der Art und übernimmt die Einstellungen der Variante zusätzlich zu denen der Art. Die übrigen Module der Variante kommen nach denen der Art.
- Ein Baby führt die Liste seiner Variante aus, auch wenn es
babyModelträgt.
Einstellungswerte
Jede Einstellung hat den Typ ihres Standardwerts: eine Zahl, true oder false, Text oder eine Liste aus Text.
- Ein Wert mit eindeutiger Bedeutung wird auch in anderer Form akzeptiert: eine Zahl in Anführungszeichen wie
"8","true"oder"false"in beliebiger Groß- und Kleinschreibung und ein einzelnes Wort für eine Liste mit einem Eintrag. - Eine Texteinstellung, der eine Zahl oder
true/falsegegeben wird, nimmt sie so, wie YAML sie gelesen hat, daher werdenonundyeszutrue. Setze solche Wörter in Anführungszeichen. - Schreibe eine Liste mit eckigen Klammern, wie in
[CAMPFIRE, SOUL_CAMPFIRE], oder mit einem Eintrag pro Zeile, beginnend mit-. Text mit Kommas oder Leerzeichen wird nicht als Liste gelesen. - Eine Einstellung, die das Modul nicht hat, eine Einstellung ohne Wert, eine Liste mit einem leeren Eintrag oder ein Wert des falschen Typs protokolliert eine Warnung mit dem Namen der Haustierdatei, und der Standardwert bleibt. Die Kreatur wird trotzdem geladen.
Mitgelieferte Module
| Modul | Priorität | Typ | Was es tut |
|---|---|---|---|
migrate | 1 | Verhalten | Fliegt eine nächtliche Wanderroute |
stay | 5 | Verhalten | Hält den Platz, an dem es bleiben sollte |
follow_owner | 10 | Verhalten | Hält mit dem Besitzer Schritt |
campfire | 15 | Verhalten | Umkreist nachts ein brennendes Lagerfeuer |
day_perch | 18 | Verhalten | Ruht tagsüber auf Laub oder am Boden |
rain_bloom | 19 | Verhalten und Sensor | Schwillt im Regen an und driftet mehr |
drift | 20 | Verhalten | Fliegt zu zufälligen Punkten um seinen Anker |
wander | 20 | Verhalten | Läuft zu Standplätzen um seinen Anker |
swim | 20 | Verhalten | Schwimmt zu Stellen unter Wasser um seinen Anker |
hover | 30 | Verhalten | Schaukelt zwischen Drifts auf der Stelle |
idle_look | 30 | Verhalten | Schaut gelegentlich einen Spieler in der Nähe an |
night_glow | Sensor | Beleuchtet das Modell nachts | |
sting | Sensoren | Sticht Spieler oder feindliche Mobs, die es berühren | |
crop_drizzle | Sensor | Lässt die Nutzpflanzen wachsen, über denen es schwebt | |
owner_effect | Sensor | Gibt seinem Besitzer einen Trankeffekt |
Ein Verhalten mit einer niedrigeren Prioritätszahl übernimmt von einem laufenden Verhalten mit einer höheren Zahl, daher schlägt das Folgen Lagerfeuer und Lagerfeuer schlagen Driften. Sensoren bewegen das Haustier nie; sie laufen neben dem Verhalten, das gerade läuft.
Der Anker eines Haustiers ist das, worum es streift: sein Besitzer oder bei einem wilden Haustier der Ort, an dem es gespawnt ist. Ein Haustier ist frei umherstreifend (settled), solange ihm nicht befohlen wurde zu bleiben und es wild ist oder sich innerhalb von follow.distance seines Besitzers befindet.
Geschwindigkeiten
Die Geschwindigkeit, die ein Modul anfordert, ist seine Einstellung speed mal follow.speed. Ein fliegender Körper fliegt so viele Blöcke pro Tick, höchstens 4; 0.05 ist ein Block pro Sekunde. Ein laufender oder schwimmender Körper bewegt sich mit der Vanilla-Navigation dorthin, mit dem 4-Fachen dieser Zahl als Multiplikator der eigenen Bewegungsgeschwindigkeit seines Körpertyps, nie unter einem Viertel davon. Ein speed von 0 lässt einen Läufer oder Schwimmer stillstehen.
migrate
Solange das Haustier eine nächtliche Wanderung fliegt, fliegt es die Route seines Schwarms mit der Geschwindigkeit des Schwarms, vor jedem anderen Verhalten. Es hört auf, wenn die Überquerung endet oder ein Spieler das Haustier zähmt. Eine Art, deren Verhalten es nicht ausführen, startet nie Schwärme. Keine Einstellungen.
stay
Nach dem Bleiben-Klick des Besitzers hält das Haustier den Platz mit einem sanften Schaukeln. Jedes Schaukeln ruht im eigenen Medium des Körpers: in der Luft bei einem Flieger, am Boden bei einem Läufer, unter Wasser bei einem Schwimmer, der die Tiefe behält, in der er bleiben sollte.
| Einstellung | Standard | Bedeutung |
|---|---|---|
speed | 0.03 | Siehe Geschwindigkeiten |
bob_ticks | 40 | Ticks zwischen den Schaukelbewegungen |
bob_radius | 0.5 | Wie viele Blöcke ein Schaukeln es vom Platz wegbewegen darf |
Die mitgelieferten Bewegungsverhalten warten alle, solange einem Haustier befohlen wurde zu bleiben, daher bekommt ein Haustier ohne stay in seiner Liste kein Schaukeln.
follow_owner
Hält ein Haustier im Besitz bei seinem Besitzer, wie unter Folgen, Bleiben und Umherstreifen beschrieben. Es liest follow.distance, follow.leashDistance, follow.teleportDistance und float.hoverHeight aus der Artdatei.
Ein Aufhol-Teleport landet innerhalb von 2 Blöcken um den Besitzer, im eigenen Medium des Haustiers: sein Schwebebereich bei einem Flieger, Standboden bei einem Läufer, Wasser bis zu 6 Blöcke entfernt bei einem Schwimmer und Boden oder sonst Wasser bei einem amphibischen Körper. Er setzt ein Haustier nur mindestens einen Block näher an seinen Besitzer, als es schon ist, und einen Läufer oder Schwimmer mindestens einen Block von ihm entfernt. Passt nichts, versucht er es nach weiteren stuck_ticks erneut.
| Einstellung | Standard | Bedeutung |
|---|---|---|
speed | 0.25 | Folgegeschwindigkeit. Siehe Geschwindigkeiten. Bei 0 hält das Haustier nur durch Aufhol-Teleports Schritt |
leash_urgency | 1.6 | Geschwindigkeitsmultiplikator jenseits von follow.leashDistance |
trail_back | 1.5 | Blöcke hinter dem Besitzer, auf die das Haustier zielt |
stuck_ticks | 60 | Ticks in Folge ohne Fortschritt, bevor sich das Haustier neben seinen Besitzer teleportiert |
drift
Für fliegende Arten. Das Haustier fliegt zu einem zufälligen Punkt im Umkreis von follow.roamRadius um seinen Anker, innerhalb seines Schwebebereichs (float.hoverHeight über dem Boden, plus/minus float.hoverVariance), und ruht dann.
| Einstellung | Standard | Bedeutung |
|---|---|---|
speed | 0.06 | Siehe Geschwindigkeiten |
drift_ticks | 160 | Höchstzahl an Ticks, die ein Drift dauert |
stuck_ticks | 20 | Ticks ohne Bewegung, bevor ein Drift aufgibt |
rest_ticks | 60 | Ticks, die das Haustier nach einem Drift ruht |
rest_random_ticks | 80 | Fügt der Ruhe zufällige 0 bis zu diesem Wert minus 1 Ticks hinzu |
hover
Für fliegende Arten. Solange kein anderes Bewegungsverhalten läuft, schaukelt das Haustier auf der Stelle: Alle bob_ticks bewegt es sich um bis zur Hälfte von float.hoverVariance nach oben oder unten. Ein Haustier, das mehr als correct_above Blöcke von float.hoverHeight über dem Boden abweicht, steuert stattdessen direkt auf diese Höhe zurück. Es sucht den Boden bis zu 12 Blöcke tief.
| Einstellung | Standard | Bedeutung |
|---|---|---|
speed | 0.03 | Siehe Geschwindigkeiten |
bob_ticks | 30 | Ticks zwischen den Schaukelbewegungen |
correct_above | 1.5 | Blöcke Abweichung von seiner Schwebehöhe, ab denen es direkt zurücksteuert |
wander
Für laufende Arten. Das Haustier läuft zu einem Standplatz in der Nähe seines Ankers, ruht und geht erneut. Ein wildes Haustier wählt Plätze innerhalb von follow.roamRadius um den Ort, an dem es gespawnt ist. Ein Haustier im Besitz wählt Plätze innerhalb von follow.roamRadius um seinen Besitzer und nicht weiter als 0,8 von follow.distance, damit das Folgen nicht in dem Moment beginnt, in dem es ankommt. Ein Weg endet innerhalb von 1,5 Blöcken von seinem Platz, nach walk_ticks oder nach stuck_ticks ohne Bewegung. Über Wasser oder einem tiefen Fall, wo nichts passt, wartet es eine Ruhephase ab und sucht erneut.
| Einstellung | Standard | Bedeutung |
|---|---|---|
speed | 0.15 | Siehe Geschwindigkeiten |
walk_ticks | 120 | Höchstzahl an Ticks, die ein Weg dauert |
stuck_ticks | 20 | Ticks ohne Bewegung, bevor ein Weg aufgibt |
rest_ticks | 80 | Ticks, die das Haustier nach einem Weg ruht |
rest_random_ticks | 120 | Fügt der Ruhe zufällige 0 bis zu diesem Wert minus 1 Ticks hinzu |
idle_look
Hin und wieder schaut das Haustier den nächsten Spieler innerhalb von range für look_ticks an und ruht dann. Es beansprucht nur den Blick, daher übernimmt jedes Verhalten, das das Haustier bewegt, und es schaut nie Spieler im Kreativ- oder Zuschauermodus an. Ein range von 0 schaltet es aus. Ein STATIONARY-Körper dreht seinen Blick nie, daher lassen seine Standardwerte dieses Modul aus.
| Einstellung | Standard | Bedeutung |
|---|---|---|
range | 8 | Blöcke, innerhalb derer es einen Spieler anschaut |
look_ticks | 40 | Höchstzahl an Ticks, die ein Blick dauert |
rest_ticks | 100 | Ticks zwischen den Blicken |
rest_random_ticks | 100 | Fügt den Ticks zwischen den Blicken zufällige 0 bis zu diesem Wert minus 1 Ticks hinzu |
swim
Für schwimmende Arten. Das Haustier schwimmt zu einer Stelle im Wasser in der Nähe seines Ankers, zwischen min_depth und max_depth Blöcken unter der Oberfläche, ruht und geht erneut. Es wählt Stellen um seinen Anker wie wander, und nur im Wasser. Ein Schwimmer, der an Land gestrandet ist, wartet dort; einer im Besitz kommt wieder ins Wasser, sobald sich sein Besitzer entfernt und das Aufholen von follow_owner Wasser neben ihm findet.
| Einstellung | Standard | Bedeutung |
|---|---|---|
speed | 0.15 | Siehe Geschwindigkeiten |
min_depth / max_depth | 0.5 / 3 | Blöcke unter der Oberfläche, 0 bis 16 |
swim_ticks | 120 | Höchstzahl an Ticks, die ein Schwimmen dauert |
stuck_ticks | 20 | Ticks ohne Bewegung, bevor ein Schwimmen aufgibt |
rest_ticks | 40 | Ticks, die das Haustier nach einem Schwimmen ruht |
rest_random_ticks | 60 | Fügt der Ruhe zufällige 0 bis zu diesem Wert minus 1 Ticks hinzu |
campfire
Nachts driften frei umherstreifende Haustiere zum nächsten brennenden Lagerfeuer innerhalb von radius Blöcken und umkreisen es langsam in seinem Rauch. Ein Haustier im Besitz wählt nur ein Feuer, das so nah an seinem Besitzer liegt, dass das Umkreisen nie das Folgen auslöst. Das Haustier prüft einmal pro Sekunde, ob das Feuer noch brennt.
| Einstellung | Standard | Bedeutung |
|---|---|---|
radius | 12 | Blöcke, in denen nach einem Feuer gesucht wird, 1 bis 32 |
height | 2.5 | Blöcke über dem Feuer, in denen das Haustier kreist |
ring | 0.8 | Radius des Kreises |
night_only | true | Nur zwischen Abend- und Morgendämmerung |
wild / pets | true / true | Ob sich wilde Haustiere und Haustiere im Besitz versammeln |
blocks | [CAMPFIRE, SOUL_CAMPFIRE] | Feuer, die zählen. Nur diese beiden funktionieren |
soul_variants | [] | Variantenmodelle, die nur von Seelen-Lagerfeuern angezogen werden. Jede andere Variante nimmt dann nur normale Lagerfeuer. Leer bedeutet, dass jede Variante jedes aufgelistete Feuer nimmt |
search_seconds | 5 | Sekunden zwischen den Suchen nach einem Feuer. Mindestens 1 |
speed | 0.06 | Siehe Geschwindigkeiten |
day_perch
Tagsüber kommt ein frei umherstreifendes Haustier auf das nächste Laub unter ihm oder den Boden direkt unter ihm herunter und ruht dort mit einem leichten Schaukeln. Es hebt in der Abenddämmerung ab, wenn Regen auf es fällt und wenn sein Besitzer aus der Folgereichweite geht. Ein Haustier im Besitz wählt nur einen Sitzplatz innerhalb von follow.distance seines Besitzers. Findet es nichts zum Sitzen, etwa Wasser oder einen tiefen Fall, sucht es 5 Sekunden später erneut.
| Einstellung | Standard | Bedeutung |
|---|---|---|
height | 0.3 | Blöcke über dem Laub oder Boden, in denen es ruht, 0 bis 8 |
search_radius | 2 | Blöcke zur Seite, in denen nach Laub gesucht wird, 0 bis 4 |
wild / pets | true / true | Ob sich wilde Haustiere und Haustiere im Besitz niederlassen |
speed | 0.06 | Geschwindigkeit, solange es mehr als einen Block vom Sitzplatz entfernt ist. Siehe Geschwindigkeiten |
settle_speed | 0.03 | Geschwindigkeit über den letzten Block |
rain_bloom
Solange Regen auf das Haustier fällt, schwillt es an und driftet häufiger, höher und schneller um seinen Anker. Es schrumpft zurück, wenn der Regen aufhört oder es Deckung findet. Regen fällt auf ein Haustier bei einem Sturm unter freiem Himmel in einem Biom, das warm und feucht genug für Regen ist. Das Anschwellen ist ein Sensor, der alle 4 Ticks läuft; das Driften ist ein Verhalten mit Priorität 19, sodass es im Regen den Platz von drift einnimmt.
| Einstellung | Standard | Bedeutung |
|---|---|---|
scale_multiplier | 1.25 | Größe im Regen, relativ zur normalen Größe, 0.1 bis 16 |
scale_seconds | 3 | Sekunden zum Anschwellen oder Schrumpfen |
drift_frequency | 2.5 | Faktor, um den seine Ruhephasen zwischen den Drifts kürzer sind, als rest_ticks und rest_random_ticks ergeben, nie unter 10 Ticks |
rise | 1 | Blöcke, um die höher es driftet |
speed_multiplier | 1.4 | Um das Wievielfache schneller es driftet |
speed | 0.06 | Driftgeschwindigkeit vor speed_multiplier. Siehe Geschwindigkeiten |
drift_ticks | 120 | Höchstzahl an Ticks, die ein Drift dauert |
stuck_ticks | 20 | Ticks ohne Bewegung, bevor ein Drift aufgibt |
rest_ticks / rest_random_ticks | 60 / 80 | Die Ruhe, die drift_frequency verkürzt |
night_glow
Die Anzeige-Bones des Modells werden nachts mit einer festen Lichtstufe beleuchtet, egal wie hell es dort ist, wo das Haustier ist. Welten ohne Sonne zählen als Nacht. Der Sensor prüft alle 2 Sekunden. Nur für Java-Spieler: Bedrock-Spieler sehen das Modell im Weltlicht.
| Einstellung | Standard | Bedeutung |
|---|---|---|
night_only | true | false leuchtet Tag und Nacht |
light | 15 | Lichtstufe, 0 bis 15 |
lantern_bone | lantern | Ein Modell mit einem Bone dieses Namens loopt animation, solange es leuchtet |
animation | glow | Die Animation für den Laternen-Bone |
sting
Ein wildes Haustier sticht Spieler, die sein Modell berühren, außer im Kreativ- oder Zuschauermodus. Ein Haustier im Besitz sticht feindliche Mobs, die in die Reichweite reach der Hitbox seines Modells kommen, und nie einen Spieler. Ausgewachsene Tiere spielen beim Stechen ihre Animation attack ab. Berührungen werden alle 4 Ticks geprüft und Mobs in der Nähe alle 10.
| Einstellung | Standard | Bedeutung |
|---|---|---|
wild / pets | true / true | Ob wilde Haustiere Spieler stechen und Haustiere im Besitz feindliche Mobs |
effect | SLOWNESS | Trankeffekt, nach Namen. NONE für keinen Effekt |
duration_ticks | 60 | Effektdauer in Ticks, 1 bis 6000 |
amplifier | 0 | Effektstufe; 0 ist Stufe I |
damage | 0 | Schaden pro Stich, in halben Herzen |
cooldown_seconds | 3 | Sekunden, bevor dieses Haustier dasselbe Opfer erneut stechen kann |
reach | 0.5 | Abstand in Blöcken zur Hitbox des Modells, bis zu dem ein Haustier im Besitz einen Mob noch sticht, 0 bis 4. Wilde Stiche setzen voraus, dass der Spieler das Modell berührt |
Ein effect-Name, den es nicht gibt, protokolliert pro Art und Name einmal eine Warnung, und der Stich wendet keinen Effekt an.
crop_drizzle
Solange das Haustier ruhig über einer Nutzpflanze schwebt, fällt ein leichter Regen auf sie, und alle interval_seconds kann die Pflanze eine Stufe wachsen. Nutzpflanzen sind die Blöcke im Crops-Tag von Minecraft, Netherwarzen und Süßbeerensträucher. Das Haustier schaut nur durch Luft gerade nach unten. Das Wachstum geht als BlockGrowEvent hinaus, sodass Schutz- und Farming-Plugins es verweigern können. Für wilde Haustiere und Haustiere im Besitz gleichermaßen.
| Einstellung | Standard | Bedeutung |
|---|---|---|
chance | 0.1 | Wahrscheinlichkeit pro Intervall, dass die Pflanze wächst, 0 bis 1 |
interval_seconds | 5 | Sekunden zwischen den Versuchen. Mindestens 1; geprüft wird einmal pro Sekunde, ein Bruchteil wartet also auf die nächste ganze Sekunde |
depth | 4 | Blöcke unter dem Haustier, in denen nach der Pflanze gesucht wird, 1 bis 8 |
owner_effect
Solange ein Haustier im Besitz draußen und höchstens range Blöcke von seinem Besitzer entfernt ist, hat der Besitzer einen Trankeffekt, etwa Nachtsicht oder Unterwasseratmung. Der Effekt hält 15 Sekunden und wird jede Sekunde erneuert, flackert also nie, und er klingt innerhalb von 15 Sekunden ab, nachdem das Haustier nach Hause gegangen ist oder der Besitzer seine Reichweite verlassen hat. Er zeigt sein Symbol, aber keine Partikel. Hat der Besitzer diesen Effekt bereits mindestens so stark und mindestens so lange anhaltend, etwa von einem getrunkenen Trank, lässt das Haustier ihn in Ruhe.
Das Modul eignet sich für gleichmäßige Effekte: Nachtsicht, Unterwasseratmung, Geschwindigkeit, Eile, Feuerresistenz. Effekte, die auf ihre Restzeit reagieren, etwa Regeneration, Vergiftung und Wither, verhalten sich bei einer Erneuerung jede Sekunde falsch.
| Einstellung | Standard | Bedeutung |
|---|---|---|
effect | NIGHT_VISION | Trankeffekt, nach Namen |
amplifier | 0 | Effektstufe; 0 ist Stufe I |
range | 16 | Blöcke vom Haustier |
Alte Abschnitte für Welt-Interaktionen
Haustierdateien, die vor den Verhaltensmodulen geschrieben wurden, können Abschnitte campfire:, rainBloom:, glow:, sting:, dayPerch: oder drizzle: haben. Sie bewirken jetzt nichts, und jeder protokolliert beim Laden der Datei eine Warnung:
firefly.pet.yml: the campfire section is ignored now that world interactions are behavior modules; list the campfire module under behaviors: instead (see plugins/FreeMinecraftModels/pet_behaviors/campfire.lua for its settings).
Eine einfache Zeile glow: true erhält dieselbe Warnung, formuliert als the glow setting. Wurde der Abschnitt ausgeschaltet (enabled: false oder glow: auf etwas anderes als true gesetzt) oder listet die Datei ihr Modul bereits auf, bittet die Warnung nur darum, ihn zu entfernen.
Um eine Interaktion zu behalten, liste ihr Modul auf und benenne ihre Einstellungen um:
| Alter Abschnitt | Modul | Umbenannte Einstellungen |
|---|---|---|
campfire | campfire | nightOnly zu night_only, soulVariants zu soul_variants, searchSeconds zu search_seconds |
rainBloom | rain_bloom | scaleMultiplier zu scale_multiplier, scaleSeconds zu scale_seconds, driftFrequency zu drift_frequency, speedMultiplier zu speed_multiplier |
glow | night_glow | nightOnly zu night_only, lanternBone zu lantern_bone |
sting | sting | durationTicks zu duration_ticks, cooldownSeconds zu cooldown_seconds |
dayPerch | day_perch | searchRadius zu search_radius |
drizzle | crop_drizzle | intervalSeconds zu interval_seconds |
Die übrigen Einstellungen behalten ihre Namen. Lass enabled weg: Ein Modul aus der Liste wegzulassen, schaltet es aus. Eine Datei ohne Liste behaviors: führt nur die Standardwerte ihrer Fortbewegung aus, liste diese also ebenfalls auf. Für eine fliegende Art, die ihr Lagerfeuer und ihr Leuchten behalten hat:
behaviors:
- migrate
- stay
- follow_owner
- campfire: { radius: 12 }
- drift
- hover
- night_glow
migration: bleibt ein Abschnitt der Haustierdatei; siehe Abschnitt „migration“.
Neigung und Zentrierung
Fliegende und schwimmende Kreaturen sehen meist besser aus, wenn sie sich mit ihrer Bewegung neigen und sich um ihre eigene Mitte drehen:
orientationlegt fest, wie sich das Modell auf seinem Weg neigt.UPRIGHT(der Standard) blickt nur in Bewegungsrichtung.TOP_FIRSTführt mit seiner Oberseite, wie eine Qualle: Es neigt sich in seine Bewegung, liegt beim Gleiten auf der Seite und dreht sich zum Abtauchen auf den Kopf.FRONT_FIRSTpasst zu Vögeln und Fischen: Es neigt die Nase in Steig- und Sturzflüge und legt sich in Kurven in die Schräglage. Jeder Stil richtet sich wieder auf, wenn das Haustier stoppt. Siehe Bewegungsausrichtung.centerOnBodyzeichnet das Modell mit der Mitte seiner Würfel auf der Mitte seines verborgenen Körpers, statt auf den Füßen des Körpers. Das Modell bewegt, dreht und neigt sich dann um den Körper, und seine Klickbox sitzt auf dem, was Spieler sehen. Der Standard isttruefürFLYING- undAQUATIC-Arten undfalsefür die übrigen. Siehe Ein Modell auf seinem Körper zentrieren.
Referenz der Artdatei
Lege <species>.pet.yml irgendwo unter plugins/FreeMinecraftModels/models/ ab, meist neben dem Modell, das sie verwendet. FreeMinecraftModels liest beim Start und bei /fmm reload jede Datei, deren Name auf .pet.yml endet. Der Dateiname vor .pet.yml ist die Standard-Art-ID.
isEnabled: true
species: firefly
model: firefly
name: '&eFirefly'
body: ALLAY
scale: 1.0
health: 20
icon: GLOW_BERRIES
iconItemModel: ''
tamingFood:
- GLOW_BERRIES
breedingFood:
- GLOW_BERRIES
tameChance: 0.34
babyModel: ''
babyScale: 0.5
babyGrowthMinutes: 20
breedingCooldownMinutes: 5
loveSeconds: 30
variants:
- firefly
- firefly_blue:0.5
follow:
distance: 5
leashDistance: 12
teleportDistance: 24
roamRadius: 5
speed: 1.0
stay: true
float:
hoverHeight: 1.5
hoverVariance: 0.75
locomotion: FLYING
centerOnBody: true
orientation:
style: FRONT_FIRST
startSpeed: 0.6
fullSpeed: 4.0
maxTilt: 180
turnSpeed: 180
wildSpawn:
enabled: true
weight: 10
minGroup: 1
maxGroup: 3
placement: AIR
minLight: 0
maxLight: 15
cap: 4
worlds: []
environments:
- NORMAL
biomes:
- minecraft:plains
time: NIGHT
minY: -64
maxY: 320
behaviors:
- migrate
- stay
- follow_owner
- campfire: { radius: 12 }
- drift
- hover
- night_glow: { light: 15 }
migration:
scale: 2.0
Identität und Aussehen
| Schlüssel | Standard | Bedeutung |
|---|---|---|
isEnabled | true | false überspringt die Datei |
species | Dateiname | Die Art-ID, kleingeschrieben. Die gespeicherten Haustiere der Spieler und /fmm petadmin verwenden sie, halte sie also stabil, sobald Spieler Haustiere besitzen. Definieren zwei Dateien dieselbe ID, bleibt die nach Pfad erste erhalten, und die Konsole warnt |
model | Dateiname | Das Modell, das das Haustier trägt. Die Konsole warnt, wenn es nicht geladen ist, und das Haustier kann nicht spawnen |
name | Dateiname | Name, der über dem Haustier und in Nachrichten angezeigt wird. Unterstützt &-Farbcodes |
body | ALLAY | Der Vanilla-Mobtyp, der das Modell trägt. Seine Größe blockiert die Bewegung |
scale | 1 | Gesamtgröße, mindestens 0.0625 |
health | 20 | Maximale Gesundheit des Körpers, mindestens 1 |
icon | GLOW_BERRIES | Item des Menüsymbols |
iconItemModel | leer | Ein Item-Modell (namespace:path) aus einem Ressourcenpaket für das Menüsymbol |
variants | [] | Farbvarianten, als model, model:weight oder eine Map mit model, weight und behaviors (siehe Verhalten von Varianten). Ein wilder Spawn wählt eine nach Gewicht, ein gezähmtes Haustier behält seine eigene, und ein Baby übernimmt die eines Elternteils. Leer bedeutet nur model. Varianten sollten dieselben Bones und Animationen teilen |
Zähmen und Zucht
| Schlüssel | Standard | Bedeutung |
|---|---|---|
tamingFood | [] | Item-Namen, die ein wildes ausgewachsenes Tier zähmen |
breedingFood | [] | Item-Namen, die ein ausgewachsenes Tier im Besitz in Liebe versetzen |
tameChance | 0.333 | Wahrscheinlichkeit, dass eine Fütterung zähmt |
babyModel | leer | Modell, das als Baby bei babyScale getragen wird. Leer verwendet das Variantenmodell |
babyScale | 0.5 | Babygröße relativ zu scale |
babyGrowthMinutes | 20 | Minuten, bis ein Baby ausgewachsen ist |
breedingCooldownMinutes | 5 | Minuten, bis sich die Eltern wieder paaren |
loveSeconds | 30 | Wie lange ein gefüttertes ausgewachsenes Tier auf einen Partner wartet |
Bewegung
Die Werte follow und float werden wie vermerkt von den mitgelieferten Verhaltensmodulen gelesen.
| Schlüssel | Standard | Bedeutung |
|---|---|---|
follow.distance | 5 | follow_owner folgt, sobald der Besitzer weiter entfernt ist als dieser Wert. Innerhalb davon gilt das Haustier als frei umherstreifend |
follow.leashDistance | 12 | Jenseits davon beeilt sich follow_owner |
follow.teleportDistance | 24 | Jenseits davon teleportiert follow_owner das Haustier zu seinem Besitzer |
follow.roamRadius | 5 | Wie weit von seinem Anker drift, rain_bloom, wander und swim das Haustier führen |
follow.speed | 1 | Multipliziert die Geschwindigkeit jedes mitgelieferten Verhaltens außer migrate, mindestens 0.05 |
follow.stay | true | Ob ein Rechtsklick dem Haustier befiehlt zu bleiben |
float.hoverHeight | 1.5 | Blöcke über dem Boden, die ein fliegendes Haustier hält |
float.hoverVariance | 0.75 | Wie weit es von dieser Höhe abweicht |
locomotion | FLYING | Wie sich der Körper bewegt: FLYING, GROUNDED, AQUATIC, AMPHIBIOUS oder STATIONARY. Sie legt auch die Standardverhalten fest |
centerOnBody | true für FLYING und AQUATIC | Siehe Neigung und Zentrierung |
orientation.style | UPRIGHT | UPRIGHT, TOP_FIRST oder FRONT_FIRST |
orientation.startSpeed | 0.6 | Blöcke pro Sekunde, unterhalb derer das Modell aufrecht bleibt |
orientation.fullSpeed | 4.0 | Blöcke pro Sekunde, bei denen es sich vollständig an seiner Bewegung ausrichtet |
orientation.maxTilt | 180 | Stärkste Neigung in Grad. Mit 180 kann sich ein Modell mit TOP_FIRST auf den Kopf drehen |
orientation.turnSpeed | 180 | Grad pro Sekunde, um die sich seine Neigung ändern kann |
Wildes Spawnen
Diese Schlüssel gelten nur im Modus CREATURES. Leere Listen erlauben alles.
| Schlüssel | Standard | Bedeutung |
|---|---|---|
wildSpawn.enabled | true | Ob die Art wild lebt |
wildSpawn.weight | 10 | Gewicht gegenüber den anderen Arten, die am selben Ort spawnen dürfen. 0 spawnt nie. Eine Datei mit dem älteren Schlüssel chance (0 bis 1) und ohne weight verwendet chance mal 10 |
wildSpawn.minGroup / maxGroup | 1 / minGroup | Gruppengröße |
wildSpawn.placement | aus locomotion | GROUND, WATER, WATER_SURFACE oder AIR. FLYING ist standardmäßig AIR, AQUATIC WATER, der Rest GROUND. AIR braucht einen festen, trockenen obersten Block und WATER_SURFACE einen obersten Wasserblock, jeweils mit zwei freien Blöcken darüber |
wildSpawn.minLight / maxLight | 0 / 15 | Lichtstufe, die der Ort braucht |
wildSpawn.cap | 4 | Höchstzahl wilder Haustiere dieser Art innerhalb von 8 Chunks um einen Spieler, für Auffüllungen |
wildSpawn.worlds | [] | Weltnamen |
wildSpawn.environments | [] | NORMAL, NETHER oder THE_END |
wildSpawn.biomes | [] | Biom-Schlüssel wie minecraft:plains |
wildSpawn.time | ANY | ANY, DAY oder NIGHT, für Auffüllungen |
wildSpawn.minY / maxY | -64 / 320 | Höhenbereich |
Verhalten und Wanderung
| Schlüssel | Standard | Bedeutung |
|---|---|---|
behaviors | die Standardwerte der Fortbewegung | Die Verhaltensmodule, die die Art ausführt, mit ihren Einstellungen. Siehe Verhalten |
migration | keine | Das Aussehen der Art bei nächtlichen Wanderungen. Siehe Abschnitt „migration“ |
Die alten Abschnitte campfire, rainBloom, glow, sting, dayPerch und drizzle werden mit einer Warnung ignoriert. Siehe Alte Abschnitte für Welt-Interaktionen.
Referenz zu pets.yml
plugins/FreeMinecraftModels/pets.yml wird beim ersten Start generiert. /fmm reload wendet Änderungen an.
| Schlüssel | Standard | Bedeutung |
|---|---|---|
mode | COSMETIC | COSMETIC oder CREATURES. Siehe Haustier-Modi |
maxEquippedPets | 0 | Wie viele Haustiere ein Spieler gleichzeitig draußen haben darf. 0 bedeutet keine Begrenzung |
petsInvulnerableToPlayers | true | Ob Haustiere im Besitz Schaden von anderen Spielern als ihrem Besitzer ignorieren |
petsDiePermanently | false | Ob ein Haustier, das stirbt, die Sammlung seines Besitzers verlässt |
wildGenerationChance | 0.01 | Wahrscheinlichkeit, 0 bis 0.9, dass ein neuer Chunk eine Gruppe wilder Haustiere erhält, nach jeder Gruppe erneut gewürfelt |
wildSpawnIntervalTicks | 400 | Ticks zwischen den Auffülldurchgängen |
wildSpawnChunkChance | 0.01 | Wahrscheinlichkeit, dass ein Auffülldurchgang einen bestimmten Chunk in der Nähe eines Spielers versucht |
wildPetCapPerPlayer | 6 | Wilde Haustiere aller Arten innerhalb von 8 Chunks um einen Spieler, bei denen die Auffüllungen enden |
migrations.enabled | true | Ob nächtliche Wanderungen stattfinden |
migrations.chancePerNight | 0.15 | Wahrscheinlichkeit, 0 bis 1, dass ein Spieler in einer bestimmten Nacht einen Schwarm erhält |
migrations.minFlockSize / maxFlockSize | 8 / 14 | Schwarmgröße |
migrations.altitude | 28 | Blöcke über dem Spieler oder dem Boden, je nachdem, was höher ist |
migrations.speed | 0.15 | Blöcke pro Tick (0.15 sind 3 Blöcke pro Sekunde) |
migrations.durationSeconds | 90 | Sekunden vom Erscheinen des Schwarms bis zu seiner Entfernung |
migrations.viewDistance | 160 | Blöcke, aus denen Spieler einen Schwarm sehen |
migrations.maxActiveFlocks | 3 | Höchstzahl gleichzeitig fliegender Schwärme auf dem ganzen Server |
migrations.species | [] | Art-IDs, die wandern dürfen. Leer bedeutet jede Art, die es kann (siehe Nächtliche Wanderungen) |
Nachrichten unterstützen &-Farbcodes. $pet ist der Name des Haustiers, und $amount in maxEquippedMessage ist die Begrenzung.
| Schlüssel | Standard |
|---|---|
tamedMessage | &aYou tamed a $pet&a! It follows you now. &f/fmm pets &amanages your pets. |
tameFailedMessage | &7The $pet &7eats it, but is not tamed yet. |
stayMessage | &7Your $pet &7stays here. |
followMessage | &7Your $pet &7follows you again. |
menuTitle | &2Your pets |
noPetsMessage | &7You have no pets yet. Tame a wild creature by feeding it its favorite food. |
equippedMessage | &a$pet &ais with you. |
unequippedMessage | &7$pet &7went home. |
maxEquippedMessage | &cYou can only have $amount pets with you at once. |
breedingCooldownMessage | &7Your $pet &7is not ready to breed again yet. |
bornMessage | &aA $pet &awas born! |
Befehle und Berechtigungen
| Befehl | Berechtigung | Standard | Zweck |
|---|---|---|---|
/fmm pets | freeminecraftmodels.pets | true | Öffnet dein Haustier-Menü |
/fmm petadmin mode [creatures|cosmetic] | freeminecraftmodels.pets.admin | op | Zeigt den Haustier-Modus an oder wechselt ihn und speichert ihn in pets.yml |
/fmm petadmin list | freeminecraftmodels.pets.admin | op | Listet die geladenen Arten mit Datei, Modell, Körper, Zähmungsfutter und Zuchtfutter auf |
/fmm petadmin spawn <species> | freeminecraftmodels.pets.admin | op | Spawnt ein wildes Haustier über dem Block, den du anschaust, bis zu 12 Blöcke entfernt. Nur im Modus CREATURES |
/fmm petadmin give <species> | freeminecraftmodels.pets.admin | op | Fügt deiner eigenen Sammlung ein ausgewachsenes Tier der Art hinzu und holt es heraus, außer du bist bei maxEquippedPets |
/fmm petmigrate [species] | freeminecraftmodels.pets.admin | op | Schickt jetzt einen Wanderschwarm über dich. Siehe Nächtliche Wanderungen |
Alle drei Befehle sind nur für Spieler. freeminecraftmodels.pets schützt das Haustier-Menü, und jeder Spieler hat sie standardmäßig. freeminecraftmodels.pets.admin schützt /fmm petadmin und /fmm petmigrate, gilt standardmäßig für Operatoren und ist in freeminecraftmodels.* enthalten. Zähmen, Zucht und der Befehl zum Bleiben brauchen keine Berechtigung.
Fehlerbehebung
Suche in der Konsole nach pet behavior, pet_behaviors und .pet.yml, um die Warnungen zu Verhaltensmodulen zu finden. Jede nennt die Haustierdatei oder Moduldatei, die zu korrigieren ist.
Die Konsole meldet Pets are off.
Die Serverversion hat keine NMS-Unterstützung von FreeMinecraftModels oder ist älter als Minecraft 1.21.4.
Die Konsole meldet Pet <species> (<file>) names model <model>, which is not loaded.
Der Schlüssel model nennt eine Modell-ID, die nicht geladen wurde. Eine Variante, deren Modell nicht geladen wurde, protokolliert nichts; Haustiere dieser Variante tragen stattdessen das model der Art. Prüfe den Dateinamen des Modells, der seine ID ist, und das Reload-Log für dieses Modell.
Die Konsole meldet Could not spawn pet <species>: <cause>.
Ein Haustier dieser Art konnte nicht in die Welt kommen, aus dem genannten Grund, etwa weil ein Modell nicht geladen ist, Verhalten nicht starten konnten oder ein Körper nicht spawnen konnte. Jede Art und Ursache wird bis zum nächsten Reload nur einmal protokolliert, egal wie oft der Spawn erneut versucht wird.
Die Konsole meldet the <section> section is ignored now that world interactions are behavior modules.
Die Haustierdatei hat noch einen alten Abschnitt für Welt-Interaktionen oder eine Zeile glow: true, die die Warnung the glow setting nennt. Siehe Alte Abschnitte für Welt-Interaktionen.
Die Konsole meldet there is no pet behavior <name> in pet_behaviors/.
Die Liste behaviors nennt ein Modul, zu dem es keine Datei gibt. Prüfe die Schreibweise; die Warnung schlägt den nächstliegenden Namen vor, falls es einen gibt. Die Kreatur wird ohne dieses Modul geladen.
Die Konsole meldet the pet behavior <name> failed to load.
Die Moduldatei hat einen Fehler. Eine frühere Warnung nennt die Datei und bei einem Lua-Fehler die Zeile. Behebe ihn und führe /fmm reload aus, oder lösche ein defektes mitgeliefertes Modul, damit FreeMinecraftModels es erneut schreibt.
Die Konsole meldet the pet behavior <module> has no setting <setting> oder <module>.<setting> must be ....
Eine Einstellung in der Liste behaviors ist falsch geschrieben oder hat den falschen Typ. Die Warnung listet die Einstellungen des Moduls oder den benötigten Typ auf, und der Standardwert bleibt. Siehe Einstellungswerte.
Die Konsole meldet cannot run alongside the ones listed before it.
Zwei Module in der Liste können nicht zusammen laufen, meist weil beide denselben Speicherwert, dasselbe Verhalten oder denselben Sensor deklarieren, wie bei einem kopierten Modul, das neben seinem Original aufgelistet ist. Das erste in der Liste läuft, das andere wird ausgelassen. Siehe Haustier-Verhaltensmodule.
Es erscheinen keine wilden Haustiere.
Prüfe, dass mode CREATURES ist und dass /fmm petadmin list die Art zeigt. Prüfe dann wildSpawn: enabled, ein weight über 0 sowie die erlaubten Welten, Umgebungen, Biome, Lichtstufen und Höhen. Chunks werden einmal bestückt, wenn sie generiert werden, ein erkundetes Gebiet füllt sich also nur über Auffüllungen, die standardmäßig langsam sind und an den Obergrenzen enden. /fmm petadmin spawn <species> platziert eines, um das Haustier selbst zu prüfen.
Spieler können /fmm pets nicht öffnen.
Sie brauchen freeminecraftmodels.pets, die standardmäßig jeder Spieler hat, sofern ein Berechtigungs-Plugin sie nicht entzieht. Siehe Befehle und Berechtigungen.
Nie überquert ein Schwarm den Himmel.
Schwärme fliegen nachts in Welten vom Oberwelt-Typ über Spieler unter freiem Himmel, und nur für FLYING-Arten mit einem Abschnitt migration:, deren Verhalten migrate ausführen. Eine Art, die nicht wandern kann, protokolliert beim Laden has a migration section, but ... mit der Lösung. /fmm petmigrate <species> schickt sofort einen.
Ein Haustier tut nichts oder hat nach einem Update aufgehört, etwas zu tun.
Prüfe seine Liste behaviors: Ein Haustier führt nur die Module aus, die es nennt, und eine Liste ersetzt die Standardwerte. Eine Datei, deren Welt-Interaktionen Abschnitte waren, führt keine davon aus, bis sie ihre Module auflistet.
Das Leuchten eines Haustiers zeigt sich für Bedrock-Spieler nicht. Das Leuchten beleuchtet nur Java-Anzeige-Bones.