Benutzerdefinierte Texturen

Autor:aedenthornLetzte Aktualisierung:22/02/2025 06:26:45240.9K15KB

Valheim Benutzerdefinierte Texturen-1-lagofast mod master
Valheim Benutzerdefinierte Texturen-2-lagofast mod master
Valheim Benutzerdefinierte Texturen-3-lagofast mod master
Valheim Benutzerdefinierte Texturen-4-lagofast mod master
Valheim Benutzerdefinierte Texturen-5-lagofast mod master
Valheim Benutzerdefinierte Texturen-6-lagofast mod master
Valheim Benutzerdefinierte Texturen-7-lagofast mod master
Valheim Benutzerdefinierte Texturen-8-lagofast mod master
Valheim Benutzerdefinierte Texturen-1-lagofast mod master
Valheim Benutzerdefinierte Texturen-2-lagofast mod master
Valheim Benutzerdefinierte Texturen-3-lagofast mod master
Valheim Benutzerdefinierte Texturen-4-lagofast mod master
Valheim Benutzerdefinierte Texturen-5-lagofast mod master
Valheim Benutzerdefinierte Texturen-6-lagofast mod master
Valheim Benutzerdefinierte Texturen-7-lagofast mod master
Valheim Benutzerdefinierte Texturen-8-lagofast mod master

Mod-Einführung

Ermöglicht es dir, Instanzen von Spieltexturen durch benutzerdefinierte PNG-Dateien zu ersetzen.
Beschreibung

Diese Mod sollte es dir ermöglichen, Folgendes zu ersetzen:

  • Spielermodell-Texturen
  • Gegenstands-Inventarsymbole
  • Ausrüstungs-Texturen wie Rüstung, Waffen und Werkzeuge
  • Gelände- und Wassertexturen
  • Umgebungstexturen
  • spezielle Orts-Texturen (Dörfer, Krypten, Runensteine usw.)
  • Weltobjekt-Texturen, fast alles andere in der Spielwelt

Es unterstützt jetzt auch Ebenen, sodass du mehrere Texturen auf dieselbe Vanilla-Textur anwenden kannst (siehe Ebenen unten).

Um eigene benutzerdefinierte Texturen zu erstellen, ist grundlegendes Leseverständnis erforderlich! Es ist nicht so schwierig, aber bitte lies alle Informationen unten sorgfältig bevor du um Hilfe bittest.


Grundlegende Verwendung

Um die Vanilla-Texturen als Referenz zu extrahieren, verwende ich Asset Studio. Die Texturen befinden sich in der valheim_Data/sharedassets Dateien.

Um eine Textur zu ersetzen, fügst du einfach eine png Datei in den Ordner BepInEx/plugins/CustomTextures mit dem unten erklärten Namensformat und lade dann das Spiel.

Du kannst Texturen auch in Unterordnern organisieren! Wenn du ein Texturenpaket veröffentlichst, empfehle ich dir, dies zu tun, um eine einfache Installation und Entfernung zu ermöglichen.

Wenn du also ein Texturpaket veröffentlichst, kannst du deine Texturen vor dem Erstellen der Zip-Datei in einen Ordner namens CustomTextures legen, damit Vortex sie automatisch installieren kann!


Um die Welttexturen während des Spiels neu zu laden, gibt es einen Hotkey (standardmäßig Seite nach unten). Hinweis: Dadurch werden keine Vanilla-Texturen neu geladen. Wenn du also eine benutzerdefinierte Texturdatei entfernst, musst du das Spiel neu starten, um die Vanilla-Textur wieder zu sehen.

Für eine Liste von Mods, die mit dieser Mod benutzerdefinierte Texturen erstellen, klicke auf Anforderungen Über dieser Beschreibung.

Hier ist das Video einer freundlichen Person, die zeigt, wie man diese Mod mit vorgefertigten Texturpaketen verwendet.


Filtermodus

Valheim-Texturen verwenden Punkt filterung, was sie aus der Nähe verpixelt aussehen lässt. Wenn du bilinear oder trilinear Filterung nach höher aufgelösten Texturen, lege deine Texturen in einem Unterordner namens bilinear oder trilinear und die Mod wird den Filtermodus für diese Texturen ändern (sie können sich weiterhin in Unter-Unterordnern befinden, wenn du möchtest).


Zusammenfassung der Dateibenennung

Dateinamen bestehen aus bis zu vier Teilen: Präfixen, Bezeichnern, Eigenschaftsnamen und Ebenennamen. Um die meisten dieser Informationen zu erhalten, verwenden Sie den Szenen-Dump (siehe Szenenausgabe unten)

Sie erstellen Dateinamen, die mit einem Präfix beginnen, auf das normalerweise ein Unterstrich folgt, dann eine Kennung, dann der Eigenschaftsname (und optional ein Unterstrich gefolgt von einem Ebenennamen, wie unter Ebenen), d. h. für einen vollständigen Texturersatz:

<prefix>_<identifier><propertyName>.png

oder für eine Ebene:

<prefix>_<identifier><propertyName>_<layerName>.png

Sie erhalten dann einen Dateinamen wie diesen, und Sie platzieren ihn irgendwo in der Benutzerdefinierte Texturen Ordner.

Eigenschaftsnamen haben normalerweise einen Unterstrich als Präfix, also vergiss das auch nicht. Wenn Windows außerdem deine Dateiendungen ausblendet, dann
hinzufügen .png bis zum Ende, sonst erhalten Sie eine Datei namens <prefix>_<identifier><propertyName>.png.png was nicht funktionieren wird. Im Ernst, lass Windows einfach Dateiendungen anzeigen, es ist dumm, dass es das nicht tut.

Hier ist eine Erklärung zu jedem der vier Teile:

Präfixe

Die folgenden Präfixe sind implementiert, basierend auf der Art des zu ändernden Objekts:

  • Spielermodell für Spielertexturen
  • atlas_item_icons für Inventarsymbole
  • Objekt für Objekttexturen
  • Rüstung für Rüstungstexturen
  • Zone für Wassertexturen
  • Gelände für Geländetexturen
  • Umgebung für Umgebungstexturen
  • Ort für besondere Orte

Für Objekt-, Wasser-, Gelände-, Umgebungs- und Orts-Texturen kann das Präfix wie folgt weiter angepasst werden:

  • <prefix>Renderer - zum Ersetzen von Texturen auf bestimmten benannten Renderern bei bestimmten benannten Dingen
  • Präfix - zum Ersetzen von Texturen auf bestimmten benannten Materialien bei bestimmten benannten Dingen
  • <prefix>renderermat - zum Ersetzen von Texturen auf bestimmten benannten Materialien auf bestimmten benannten Renderern bei bestimmten benannten Dingen
  • <prefix>Textur - zum Ersetzen bestimmter benannter Texturen bei bestimmten benannten Dingen

z. B.:

environmentrenderermat_YggdrasilBranch_branch_Yggdrasil-Zweig (Instanz)_MainTex.png

wird die Haupttextur ersetzen auf der Yggdrasil-Zweig (Instanz) Material auf dem Zweig Renderer auf der YggdrasilZweig Umgebungsobjekt.

Du kannst auch die folgenden Präfixe basierend auf dem Namen der Komponente verwenden:

  • Textur zum universellen Ersetzen einer Textur (sofern unterstützt)
  • Renderer zum Ersetzen der Textur auf jedem benannten Renderer
  • Matte zum Ersetzen der Textur auf jedem benannten Material:
Nun, einige einfachere Möglichkeiten, das oben Genannte zu tun, sind:

texture_yggbark_d_MainTex.png
mat_yggdrasil_branch (Instance)_MainTex.png


Bezeichner

Die mit den obigen Präfixen verwendeten Bezeichner finden Sie im Szenen-Dump. Mehr dazu in jedem detaillierten Abschnitt unten.


Objektnamen

Die Eigenschaftsnamen findest du auch im Szenen-Dump. Meistens wirst du ersetzen wollen _MainTex und vielleicht _BumpMap oder _SkinBumpMap.


Ebenennamen:

Sehen Ebenen unten.


Ersatztypen

Hier sind die Details zu jeder Art von Ersatz:

Spielertexturen

Verwenden Sie für die Basistextur des Spielercharakters die folgende Syntax:

player_model_<modelNumber><suffix>.png


Ersetzen <Modellnummer> mit entweder 0 für männlich oder 1 für weiblich. Z. B.:

Spieler_model_1_MainTex.png


Gegenstands-Inventarsymbole

Dies sind die kleinen Bilder, die in deinem Inventar erscheinen, um einen Gegenstand im Spiel darzustellen. Sie befinden sich alle auf einer einzigen Grafik namens sactx-2048x2048-Uncompressed-IconAtlas-61238c20 #845.

Um das Inventarsymbolblatt zu ersetzen, erstellen Sie ein entsprechendes Blatt mit dem Namen:

atlas_item_icons.png


Du kannst jede beliebige Auflösung verwenden, da sie automatisch angepasst wird.

Sie können auch ein einzelnes Objektsymbol mithilfe einer Ebene ersetzen (siehe Ebenen unten).


Objekt und Rüstungstexturen

Hinweis:
Ausrüstung und Weltobjekte werden jetzt alle berücksichtigt Objekte. Die Mod wird weiterhin die Gegenstände_ Präfix, nur aus Gründen der Abwärtskompatibilität.

Neben Spielermodellen und Inventarsymbolen gilt alles andere, was dieser Mod beeinflusst, als Objekt.

Zum Beispiel:

  • Ressourcen wie Kohle und Holz
  • Werkzeuge wie Hämmer und Kultivatoren
  • Pflanzen, Bäume, Büsche
  • Bausteine
  • Feinde

Rüstung ist dafür, wie das Objekt aussieht, wenn du es trägst (im Gegensatz dazu, es mit dem Rest deines Krams auf den Boden zu werfen).


Die allgemeine Dateinamensyntax für all diese Dinge ist:

<prefix>_<identifier><suffix>.png


Präfixe:

Die folgenden Präfixe für Objekte und Rüstung sind jetzt implementiert:

  • Objekt - wird verwendet, um alle Texturen dieses Typs zu ändern <suffix> für einen bestimmten Weltobjekttyp. <Bezeichner> sollte der Objekt-Spawn-Name sein
  • Objekt-Darsteller (Objektnetz funktioniert auch, ist aber veraltet) - wird verwendet, um alle Texturen dieses Typs zu ändern <suffix> an einem bestimmten Renderer an einem bestimmten Objekt. Der <Bezeichner> (sehen Bezeichner) sollte der Objektname und der Renderername sein, getrennt durch einen Unterstrich: <objectName>_<rendererName>
  • Objekttextur - wird verwendet, um eine bestimmte benannte Textur des Typs zu ändern <suffix> Bei jedem Renderer auf einem bestimmten Objekt. Der <Bezeichner> (sehen Bezeichner) sollte der Objektname und der Texturname sein, getrennt durch einen Unterstrich: <objectName>_<textureName>
  • Objektmatte - wird verwendet, um Texturen auf allen speziell benannten Materialien eines bestimmten Objekts zu ändern. Die <Bezeichner> (sehen Bezeichner) sollte der Objektname und der Materialname sein, getrennt durch einen Unterstrich: <objectName>_<materialName>
  • Objekt-Renderer-Mat - wird verwendet, um Texturen auf einem speziell benannten Material auf einem speziell benannten Renderer auf einem bestimmten Objekt zu ändern. Die <Bezeichner> (sehen Bezeichner) sollte der Objektname und der Materialname sein, getrennt durch einen Unterstrich: <objectName>_<Renderer-Name>_<materialName>
  • Textur - wird verwendet, um alle Instanzen einer bestimmten Textur des Typs zu ändern <suffix> an allen Objekten und Gegenständen, die diese Textur verwenden. Die <identifier> (sehen Bezeichner) sollte der Texturname sein (nicht unbedingt der exportierte Dateiname!)
  • Renderer - wird verwendet, um Texturen des Typs zu ändern <suffix> für alle Instanzen eines bestimmten Renderers auf allen Objekten und Gegenständen. Die <Bezeichner> (sehen Bezeichner) sollte der Name des Renderers sein.
  • matte - wird verwendet, um Texturen des Typs zu ändern <suffix> auf allen Instanzen eines bestimmten Materials auf allen Objekten und Gegenständen. Die <Bezeichner> (sehen Bezeichner) sollte der Materialname sein.
  • Rüstung - wird verwendet, um die Brust- oder Beinteile von Rüstungsgegenständen zu ändern - beachte, dass die übrigen Teile der Rüstung betroffen sind von objekt_ Eher als dies.


Suffixe:

Hinweis: Suffixe wurden überarbeitet. Alte Suffixe von _texture und Anstoßen werden weiterhin erkannt, sollten aber durch den tatsächlichen Eigenschaftsnamen ersetzt werden.

Suffixe teilen der Mod mit, welche Textur du ersetzen möchtest, genannt "Eigenschaften.

Der Szenen-Dump gibt eine Liste von Eigenschaften für jedes Material auf einem Objekt aus, z. B.:

Objekt ArmorIronChest hat 1 SkinnedMeshRenderers:
    SkinnedMeshRenderer Name: IronArmor
        smr IronArmor hat 1 Material
            IronArmorChest_mat (Instanz):
                Eigenschaften:
                    _MainTex IronArmorChest_d
                    _BumpMap IronArmorChest_n
                    _Emissionskarte
                    _MetallicGlossMap IronArmorChest_m
                    _StyleTex
armor ArmorIronChest hat Material:
    Rüstungsname: IronArmorPlayer_chest
                Eigenschaften:
                    _MainTex
                    _KisteBrustKarte EisenRüstungBrustSpieler_n
                    _TruheMetall EisenRüstungTruheSpieler_m
                    _TruheTex EisenRüstungTruheSpieler_d
                    _LegsBumpMap
                    _BeineMetall
                    _LegsTex
                    _SkinBumpMap

Dieses Objekt hat sowohl einen Skinned-Mesh-Renderer als auch ein Rüstungsmaterial. Sie sind getrennt.

Der Objekt sind all die schicken Schnörkel, die am Spieler hängen bleiben.

Der Rüstung ist die Textur, die auf die Beine und die Brust des Spielers aufgetragen wird.

Jede Eigenschaft wird mit ihrem Texturnamen angezeigt (falls vorhanden), z. B. der Name des Objekts _MainTex ist EisenrüstungTorso_d.

_MainTex
bezieht sich auf die Haupttextur. Meistens ist das diejenige, die du ersetzen möchtest. Bei Rüstungen jedoch bringt das Ersetzen von _MainTex möglicherweise nichts – am besten funktioniert es, sie durch eine transparente Textur zu ersetzen. Um die eigentliche Rüstung zu ändern, musst du verwenden _ChestTex und / oder _LegsTex und stelle sicher, dass es nur den Bereich der eigentlichen Rüstung abdeckt (siehe die exportierte EisenrüstungBrustSpieler_m.png zum Beispiel). Sie sollten also Folgendes erstellen:

object_ArmorIronChest_MainTex.png
Rüstung_RüstungEisenTruhe_ChestTex.png

Rüstung ist kompliziert, am besten experimentiert man!


Bezeichner

Um Bezeichner für Objekte zu erhalten, verwenden Sie Namen aus der Spawn-Liste hier:

https://www.reddit.com/r/valheim/comments/lig8ml/spawn_item_command_list/

Sie werden auch im oben erwähnten Szenen-Dump enthalten sein.


Wasser- und Geländetexturen

Wasser- und Geländetexturen verwenden eine ähnliche Syntax wie Objekte, d. h.:

<prefix>_<identifier><suffix>.png


Wasser

Wassertexturen befinden sich innerhalb von Zonenobjekten, daher sehen Sie im Szenen-Dump jetzt:

zone _GameMain hat 2 MeshRenderer:
    MeshRenderer-Name: WaterSurface
        Herr WaterSurface hat 1 Material
            Wasser (Instanz):
                Eigenschaften:
                    _SchaumstoffTextur Schaum
                    _Normal nRHPu
                    _SchaumHochauflösendeTextur schaum_hochauflösend
                    _NormalFine normalmap2
                    _ZufallsSchaumText zufalls_schaum
    MeshRenderer name: sub_water_opak_thingyu
        Herr Unterwasser-Transportgut hat 1 Materialien
            Wasserbodenebene (Instanz):
                Eigenschaften:


Das Präfix hier ist Zone, also verwende z. B.:

zone__GameMain_FoamTex.png (beachten Sie den doppelten Unterstrich!)


Gelände

Direkt nach dem Betreten der Zone siehst du:

terrain _GameMain, prefab _Zone (UnityEngine.GameObject)
                Eigenschaften:
                    _MainTex Gras
                    _NoiseTex Noise
                    _ClearedMaskTex
                    _CliffNormal gouacherock_big_n
                    _KultiviertNormal kultiviert_n
                    _DiffuseTex0 diffuse0
                    _DirtNormal dirt_normal_generated
                    _WaldNormal wald_n
                    _GrasNormal gras_normal_generiert
                    _PavedNormal gepflastert_n
                    _RockNormal gouacherock_n
                    _SchneeNormal schnee_normal


Der Präfix hier ist Gelände, also verwenden Sie z. B.:

terrain__GameMain_DiffuseTex0.png

Der diffuse0 Die Textur scheint sechzehn Kacheln mit unterschiedlichen Geländetypen zu enthalten. Ein Beispiel für ihre Verwendung ist in den Screenshots zu sehen.


Umgebungstexturen

Umgebungstexturen sind Dinge wie Regen, Wolken, Nebel und dieses riesige Baumding am Himmel.

Der Szenen-Dump zeigt zum Beispiel:

Umgebung YggdrasilBranch hat 1 MeshRenderers:
    MeshRenderer-Name: branch
        Herr Branch hat 2 Materialien
            Yggdrasil-Zweig (Instanz):
                Eigenschaften:
                    _MainTex yggbark_d
                    _BumpMap yggbark_n
                    _EmissiveTex yggdrasil_emissive
                    _MossTex ygg_moss
                    _EmissiveMaskTex yggdrasil_emissivmask
                    _RefractionNormal
            yggdrasil_branch_leafs (Instanz):
                Eigenschaften:
                    _MainTex ygg_leaf_d
                    _BumpMap ygg_leaf_n
                    _EmissiveTex
                    _MoosTex
                    _EmissiveMaskTex
                    _RefractionNormal



Also, wie oben erwähnt:

umgebungsrenderer_mat_zweig_Yggdrasil-Zweig (Instanz)_MainTex.png

wird die Haupttextur ersetzen auf der Yggdrasil-Zweig (Instanz) Material auf dem Zweig Renderer, auf dem Yggdrasilzweig Umgebungsobjekt.


Besondere Orte

Location-Prefabs sind von den restlichen Spielmodellen getrennt und müssen daher separat behandelt werden. Sie haben viele Renderer, weshalb das Durchlaufen viel Zeit in Anspruch nehmen kann. Aus diesem Grund kannst du die Location-Ersetzung in der Konfiguration deaktivieren. Außerdem müssen Locations das Ort Präfix (textur_ wird keine Wirkung haben).


Ebenen

Ebenen ermöglichen es dir, eine partielle Textur über einer bestehenden oder modifizierten Textur anzuwenden. Für alles außer Sprites funktioniert dies auf die gleiche Weise:


Texturschichten

Um einer anderen Textur als einem Sprite-Sheet eine Ebene hinzuzufügen, verwenden Sie dieselbe Syntax wie beim Ersetzen dieses Texturtyps im entsprechenden Abschnitt oben und fügen Sie _<DeinLayerName> bis zum Ende. Also, für die Spieleraugen-Textur einer Mod namens RealEyes, wäre es:

player_model_0_MainTex_RealEyes.png

<YourLayerName> kann beliebig festgelegt werden, solange er eindeutig ist und enthält keine Unterstriche.


Sprite-Ebenen

Sprite-Ebenen für das Item-Icon-Sheet funktionieren anders und überschreiben einen Bereich des Sprite-Sheets vollständig. Daher sollte die PNG der Sprite-Ebene nur die Größe des Bereichs haben, den du ersetzen möchtest. Das Dateiformat für Item-Icon-Ebenen ist wie folgt:

atlas_item_icons_<startX>_<startY>_<sheetWidth>_<sheetHeight>.png

Das liegt daran, dass du möglicherweise mit hochskalierten Texturen arbeitest, also musst du die Mod wissen lassen, wie groß das theoretische Sheet ist, mit dem du arbeitest. Die Mod wird es mit dem vorhandenen Sheet (oder dem durch eine andere Textur ersetzten Sheet) vergleichen und daraus den Maßstab deiner Layer-Textur ermitteln. Um beispielsweise die Holzschild-Textur zu ersetzen, verwende ich eine 64x64 Pixel große PNG namens:

atlas_item_icons_1224_1840_2048_2048.png

Das sagt ihm, dass mein PNG aus einem Sheet stammt 2048x2048 Pixel groß (entspricht der Größe des Vanilla-Sheets) und um das vorhandene Sheet durch mein 64x64 Pixel PNG zu ersetzen, beginnend mit Pixel 1224x1840 wie die obere linke Ecke.


Beispiele

Nehmen wir ein Beispiel aus dem Szenen-Dump:

object VikingShip hat 1 SkinnedMeshRenderers:
    SkinnedMeshRenderer Name: sail_full
        smr sail_full hat 1 Materialien
            segeln (Instanz):
                Eigenschaften:
                    _MainTex sail_diffuse
                    _BumpMap sail_normal
                    _EmissiveTex
                    _MoosTex


Sie können wählen, welches Präfix und welche Kennung verwendet werden sollen, je nachdem, was Sie tun möchten:


1. Alle Texturen für einen Objekttyp festlegen

object_VikingShip_MainTex.png

Dies ersetzt die Haupttextur jedes Materials im Objekt. Wenn ein Objekt also mehrere Texturen verwendet, funktioniert es wahrscheinlich nicht gut. Für unser Beispiel würde das nicht gut funktionieren, da sich auch eine Reihe von MeshRenderern auf dem Schiff befinden. Wenn wir die Bump-Map ändern wollen, können wir Folgendes verwenden:

object_VikingShip_BumpMap.png


2. Alle Instanzen einer Textur festlegen

texture_sail_diffuse_MainTex.png

Dies ersetzt alle Texturen mit dem Namen sail_diffuse, also sollte jedes Objekt, das diese Textur verwendet, betroffen sein. In unserem Beispiel würde es die
Segel auch auf anderen Schiffstypen, wenn sie diese Textur verwenden.


3. Eine Textur für ein einzelnes Mesh auf einem Objekttyp festlegen

objectrenderer_VikingShip_sail_full_MainTex.png

Dies ersetzt die Textur jedes Renderers mit dem Namen Segel voll an alle Wikingerboot Objekte.


4. Eine Textur nach Name auf einem Objekttyp festlegen

Objekttextur _Wikingerschiff_Segel_Diffus_MainTex.png

Dies ersetzt jede Textur mit dem Namen sail_diffuse auf alle Wikingerschiff Objekte.


4. Eine partielle Texturschicht festlegen

Jedes der oben genannten Beispiele könnte alternativ als Teil-Layer hinzugefügt werden, indem man einen Layer-Namen am Ende anhängt. Wenn Sie also nur ein Decal auf das Segel des Wikingerschiffs aufbringen möchten, könnten Sie Folgendes tun:

objecttexture_VikingShip_sail_diffuse_MainTex_CoolSkullAndCrossBones.png



Konfiguration

Eine Konfigurationsdatei BepInEx/config/aedenthorn.CustomTextures.cfg wird erstellt, nachdem das Spiel einmal mit diesem Mod gestartet wurde).

Du kannst die Konfigurationswerte anpassen, indem du diese Datei mit einem Texteditor bearbeitest oder im Spiel über die Konfigurationsverwaltung.



Szenen-Dump

Um alle Informationen zu erhalten, die Sie benötigen, um die oben genannten Namen zu erstellen, legen Sie die Konfigurationsoption fest Szenentexturen ausgeben zu wahr, dann starte das Spiel und lade einmal deine Welt. Eine Datei BepInEx/plugins/CustomTextures/scene_dump.txt sollte erstellt werden. Du kannst ihn zurücksetzen auf falsch Nachdem du die Texturen extrahiert hast, sonst wird die Datei bei jedem Spielstart neu erstellt.


Diese Mod ist noch in Arbeit.



Technisch

Um diese Mod zu installieren, ist der einfachste Weg, einfach Vortex, der Nexus Mods Mod-Manager. Er sollte sich um alle Abhängigkeiten kümmern.

Um manuell zu installieren, platzieren Sie die DLL-Datei im Ordner BepInEx/plugins. Sie benötigen BepInEx.

Der Code ist bei https://github.com/aedenthorn/ValheimMods.

Wenn du dich beschweren oder um Hilfe bitten möchtest oder mir beim Testen meiner Mods helfen willst, kannst du besuchen mein Discord-Server.

Klicken Sie hier für eine Liste aller meiner Mods für Valheim.
Dieses Tool wird von der Drittpartei [bufftool] bereitgestellt.Hinweis-Symbol

Mods jetzt herunterladen

Installieren Sie LagoFast, starten Sie Valheim und spielen Sie mit den Mods, die Sie lieben.