Jotunn the valheim library как установить

Обновлено: 06.07.2024

Jötunn (/ˈjɔːtʊn/, "giant"), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Как начать создавать моды

SlimVML поставляется с Harmony 2.04, чтобы моддеры могли его использовать.

Моды, которые нужно установить для правильный работы

Моды, требующие этот мод

Valheim Jötunn (/ ˈjɔːtʊn /, «гигант») была создана с целью способствовать творчеству разработчиков, объединить усилия сообщества по решению проблем и повысить продуктивность разработчиков путем создания библиотеки общих вспомогательных утилит, а также интерфейсов и абстракции, которые способствуют взаимодействию модов. Согласованность игрового процесса в сети и устранение необходимости поддерживать конкретный код версии valheim, выступая в качестве интерфейса между разработчиком и играми, изменяющими внутреннее устройство.

Как установить

Basic Text Версия:

Для кого

InSlim предназначен для игроков, которые хотят добавлять моды к их игре Valheim .
А так же для людей, которые хотят создавать моды для Valheim .

Установка

Если вы используете установщик модов, вы, вероятно, можете проигнорировать этот раздел. Чтобы получить более подробное руководство по установке, ознакомьтесь с руководством по ручной установке в нашей документации.

Однако вот краткое описание :

Это зависимость для Jötunn:

  1. Загрузите MMHookGen;
  2. Извлеките папки `config` и` patchers` в папку `BepInEx` в вашей установке Valheim.
  1. Download из Nexus / Thunderstore;
  2. Извлеките ZIP-архив и поместите файл Jotunn.dll в папку BepInEx \ plugins в вашей установке Valheim.
  3. Вот и все, запускайте игру и начинайте мод.

Менеджеры

Утилиты

Совместимости

По состоянию наInSlimVML v0.2.0 , совместимы с большинством модов BepInEx.
Прежде чем обратиться за помощью, ознакомьтесь с двумя руководствами по установке для совместного использования Bepinex и InSlimVML.

Обратите внимание

Nexus requirements

Off-site requirements

Mods requiring this file

Mod name Notes
Areas
Atos Arrows JVL Required
Balrond Item Generator
Barbarian's Armor
Better Clubs Required > 2.3.0
Bifrost Portal
Bone Appetit Absolutely required. Not the same as Jotunn Lib!
Build It Absolutely required. Not the same as Jotunn Lib!
Cackleheim Hearth and Hyenas
Catalyst Buildables
Catalyst Machines
CatBall
Chaos Warrior Armor Hard requirement, this is what adds the actual items into the game
Chat Tweaks
Civilized Duels
Clutter
Colorful Signs
CropReplant
Custom Dverger
Custom Hair (AKA CustomWigs)
Digitalroot's Gold Bars Required > 2.3.0
Dungeon Reset
Enhanced Potions Can't function without it
Epic Valheim's Additions - by Huntard This is a must
FlexWithYourBuild
FoodRebalance
ForsakenJVL
Glorious
GuitarAxe
Hearth and Home Old Food Stats
Hearthstone Jotunn
Heightmap Unlimited Required
Huntard's Valex Parry Shields This is a must.
IronBarInValheim
Jotunn Better Trader Fix (deprecated) Required
JotunnBackpacks
MadHatter
Minecraft Steve Hairstyle
More Defenses
More Gates
More Green Fire
More Lighting
OdinArchitect - Custom buildings Required Core library min. 2.3.4 - Jotun needs MMHOOK
Pacifist
Pageable Build Hud (H n H) Required
PlanBuild - Blueprint Rune Note that this is not the same as JotunnLib! Both can be installed at the same time if needed.
PlantIt
Plate Armor
Populated Villages - PopVillages
Potions Plus 3.0 Required
Precise Piece Placement
PressurePlate for Doors
QoL Pins
Rainbow Flames
Rainbow Troll Armor Generator
Reworked Armors - Armor Tiers Jotunn and dependencies or it won't work.
Sage Robes
Seed Totem
Skald - Extended Lore Texts - Valheim BepInEx Plugin
Steamheim Airships
Sundial Also requires BePinEx
Surtling Core Overclocking
Terraheim - Weapons Tools and Armor ABSOLUTELY REQUIRED FOR TERRAHEIM TO FUNCTION
Toggleable Transparent Sails
Triple Bronze JVL Required > 2.3.0
Truck Nuts on Boats
Valheim Additions Requires - 2.2.5
Valheim Diving Mod (H n H) Needed for Diving Skills & Breathe Bar (min vers. 2.3.1)
Valheim Picture Frame
Valheim Sleeping Bag
Valheim Trash Can
ValheimExpanded Absolutely Required. Not even sorry about it.
ValheimRAFT
Valweed Merge the plugins folder with your BepInEx/plugins folder.
VNEI - Valheim Not Enough Items
WeWantToEatRice
Whistlr
Zero Two Hair
ZethPack 1.2.5 - (New Food and Tools)

Author's instructions

File credits

This author has not credited anyone else in this file

Donation Points system

This mod is not opted-in to receive Donation Points

Version 2.3.7

  • Fixed translation of the custom skill raise message
  • Added ZInput.GetButton support for custom buttons

Version 2.3.6

  • Added JSON helper methods to PieceConfig
  • Added support for BepInEx' KeyboardShortcuts in ButtonConfig and InputManager
  • Added slider for numerical values in the mod settings GUI
  • Item property in ItemConfig is publicly readable now so it can be serialized
  • Fixed button config in mod settings for control keys
  • Fixed the localization for Jötunn tokens

Version 2.3.5

  • Added support for custom Obliterator/Incinerator item conversions

Version 2.3.4

  • Fixed BoneReorder for equip with disabled attach points (thx GoldenJude)
  • Fixed DragWindowCntrl not respecting the screen size sometimes (thx MSchmoecker)
  • Fixed ModCompat NRE with missing "NotEnforced" mods
  • Fixed double values not saving in mod settings
  • Added support for KeyboardShortcuts in mod settings

Version 2.3.3

Version 2.3.2

  • Adapted the custom piece categories to the new width
  • Inject custom commands into the new Terminal system

Version 2.3.1

Version 2.3.0

Version 2.2.9

Version 2.2.8

  • Added global mod registry, collecting added entities per mod
  • Added entity CustomPrefab including the possibility to let Jötunn fix mock references
  • Show color on the ColorPicker button in the mod settings
  • Refactored manually built controls in GUIManager to use Unity's DefaultControls (thx redseiko)
  • GUIManager.ApplyButtonStyle does not add a Text GO any more
  • Added GUIManager.CreateInputField
  • Fixed sprite atlas loading
  • Fixed OnLocalizationAdded event timing
  • Deprecated ItemManager.OnVanillaItemsAvailable, mods should use PrefabManager.OnVanillaObjectsAvailable now

Version 2.2.7

Version 2.2.6

  • Fixed category translations with special chars in the category
  • Hardened Mock creation a bit

Version 2.2.5

Version 2.2.4

  • ModCompatibility now disconnects clients from vanilla servers when the client runs enforceable mods
  • Added a brand new Mod Settings GUI, accessible from the menu list
  • Don't show server side configs in the GUI when a client has no admin rights
  • Added two new custom GUI containers for mods to use (in front of and behind Valheim's own GUI)
  • Marked the old PixelFix container as obsolete
  • Added a new event after custom Localization got added
  • Fixed a NRE with dynamic KeyHints
  • Fixed mod compatibility window showing on version errors not related to Jötunn
  • Track requests to BlockInput and release the block only after all requests are released
  • Added new flag "ActiveInCustomGUI" to ButtonConfig to receive button presses while GUIManager.BlockInput is active

Version 2.2.3

  • Don't use own canvas for custom GUI (fixes compat with VHVR for example)
  • Compile against BepInEx v5.4.15

Version 2.2.2

  • Fixed NREs for mods without proper BepInEx-Info
  • Fixed some NREs with custom GUI components (Auga for example). Jötunn does not brake anything any more but some features won't work with a custom GUI

Version 2.2.1

  • Fixed a bug which rendered clients unable to login on dedicated servers

Version 2.2.0

Version 2.1.3

  • Fixed KeyCode configs without backing ButtonConfig
  • Fixed KeyCode settings display
  • Fixed constant NRE when another mod throws at sceneLoaded
  • Added tokens of items and pieces to the table dumps
  • Added method to query registered custom piece category names

Version 2.1.2

  • Fixed first category selection on custom tables
  • Fixed compatibility with mods hooking prev/next category with HarmonyX (e.g. BuildExpansion)

Version 2.1.1

  • Fixed some errors with custom piece table categories
  • Custom KeyHints for "missing keys" fallback to the provided button name

Version 2.1.0

Version 2.0.12

Version 2.0.11

  • Added support for Color type configurations in the mod settings GUI
  • Added visual indicator for server side configurations in the mod settings GUI
  • Added an event for mods to subscribe to when configuration got synced from the server
  • Fixed KeyHints not disappearing when an item is unequipped
  • Added KeyHints per Piece
  • Added support for registering KeyHints "on the fly"
  • Included xmldoc and debug files in releases
  • Removed Jötunn version string in main menu

Version 2.0.10

Version 2.0.9

  • Compatible with Valheim 0.153.2
  • Fixed ModCompat window showing when a wrong password was entered

Version 2.0.8

  • Mocks which can not resolve throw Exceptions now (mod devs should check if their mods have these issues when updating)
  • Items, Pieces, Recipes etc don't get added to the game any more when Mocks are not resolved preventing follow-up errors
  • More sanity checks for custom entities (Recipe names for example) - also preventing follow-up errors
  • ModCompatibility does not wrap the PeerInfo ZPackage any more but registers own RPC calls
  • Automatic lib refs from Jötunn now check if the Unity libs reside in "unstripped_managed" and import these into the project
  • Custom console commands are case insensitive now
  • PieceManager collects and exposes a list of all PieceTables for mods to query
  • Fixed KeyHint NRE (hopefully)

Version 2.0.7

  • Fixed a rare compat issue with ZRpc calls
  • Added defaults to RequirementConfig

Version 2.0.6

Version 2.0.5

  • Fixed compatibility with RRR Monsters or any other mods, who insert into the wrong ObjectDB on Startup
  • Fixed NRE with mods who manage to have no BepInEx PluginInfo attached
  • Fixed default station value for FermenterConversionConfig

Version 2.0.4

  • Fixed incompatibility with mods using ZRpc (WoV SSC for example)
  • Introduce new event ItemManager.OnVanillaItemsAvailable for mods to clone vanilla assets for mod use

Version 2.0.3

  • Fixed a NRE when depending mods are null referenced

Version 2.0.1

Jötunn, the Valheim Library
Jötunn (/ˈjɔːtʊn/, "giant"), the Valheim Library, was created with the intent to facilitate developer creativity, unify the communities problem solving efforts, and enhance developer productivity by curating a library of common helper utilities. Additionally, it supplies specific interfaces and abstractions which aid with mod interoperability, networked gameplay consistency, and remove the need to maintain valheim version specific code by acting as an interface between the developer and the games changing internals.

Jötunn is not JotunnLib is not ValheimLib
Jötunn was created as a joint effort to merge JotunnLib and ValheimLib into a single library to use the best of both worlds. It is possible to use all three libraries side by side so all current mods will continue working. But it is highly recommended to port your mod to this new library as the other two won't be actively developed anymore.

Usage
Please refer to our documentation. We have gone to great lengths to ensure there is ample documentation to facilitate the developers learning experience.

Installation
If you're using a mod installer, you can likely ignore this section.
For a more in-depth installation guide, please check out the manual installation guide in our documentation.
However, here is a quick run-down:

That's it, launch the game and mod away!

Features
JVL provides three distinct groups of features. Entities, which abstract the game's own entities into easy-to-use interfaces. Managers, which act as interfaces between the entities and native collections or subsystems. Utilities, which are there to aid in generic/common functions that can span many different areas.

Entities
- CustomItem - Represents ingame items such as weapons, tools and consumables.
- CustomRecipe - Represents ingame recipes for managing crafting and upgrading of items.
- CustomPiece - Represent ingame building pieces.
- CustomPieceTable - Represent ingame building tables. Support for custom categories included.
- CustomStatusEffect - Represents ingame status effects from weapon hit effects to guardian powers.
- CustomItemConversion - Represents ingame item conversions for the CookingStation, Fermenter and Smelter in one abstraction.
- KitbashObject - Represents a custom object assembled from various other prefabs' components.
- Mocks - Fake any vanilla prefab and use it in your custom assets - Jötunn resolves the references to the vanilla objects at runtime.
- Config classes - There are many more abstractions beside the main entities which allow for easy creation of things like key bindings, custom commands, skills and more.

Managers
- Command Manager - Facilitates implementation of methods which can be registered as executable console commands.
- GUI Manager - Allows invocation of UI prefabs on the fly via code.
- Input Manager - Provides an interface for binding keys via ZInput in a consistent manner, facilitating custom keybind hints.
- Item Manager - Abstracts away implementation details of configurations applied to items/recipes to provide a consistent developer experience in adding new items. tl;dr items are easy!
- Localization Manager - Provides multiple methods of loading localisation data into the game, as well as exposing an interface for adding additional languages to provide localizations to unsupported languages.
- Piece Manager - Very similar to the Item Manager, abstracting implementation details of configurations for pieces/recipe's.
- Prefab Manager - Provides a cache of prefabs registered through other managers, mostly developers will only query the cache for prefabs added via other managers.
- Skill Manager - Facilitates additional custom skills.
- Kitbash Manager - Create custom assets with individual pieces from vanilla prefabs.

Utilities
- Asset Helpers - Methods to facilitate referencing and loading of assets.
- Bone Reorderer - Fixes bone ordering issues on [code single]SkinnedMeshRenderer[/code]'s that have been ripped and imported into unity.
- Network Compatibility - Allows plugins to define their own version requirements for clients connected to the server. Ensures a customisable level of interoperability with clients of differing mod configurations on a plugin-by-plugin basis.
- Config Synchronisation - Allows administrators to adjust configuration values via an in game menu. Config setting is synced to connected clients.
- Mod Registry - Query added content per Mod.
- SimpleJSON - We have imported SimpleJSON into our library at the request of developers who would simply prefer to have this dependency taken care of already. We use the MIT Licensed SimpleJSON

Bugs, Support, Contributions
Please refer to our documentation before requesting support via discord. If there are any mod interoperability issues developers experience (not just exclusive JVL issues), we would like to hear from you! If we can facilitate better mod interoperability by providing a common interface, or exposing native valheim objects, including a utility which you have created, then please feel free to create a new feature request or pull request.

Roadmap
Check our projects for a more up to date list of features currently in development, or suggest your own features for inclusion by creating a new feature request

Changelog
See the full Changelog.

Contributors to Jötunn, the Valheim Library
These people have been integral to pushing JVL out of the door, and without them we could not have achieved nearly as much. Please give them some love on github, thunderstore, and nexus.

Моды, которые нужно установить для правильный работы

Моды, требующие этот мод

Дорожная карта

Ознакомьтесь с нашими вехами, чтобы получить более свежий список функций, которые в настоящее время разрабатываются, или предложите свои собственные функции для включения, создав новый запрос функции.

CinnaBunn for the backpack models.
Aedenthorn for the precursor BackpackRedux.
Randy Knapp for their Extended Item Data Framework, and help with a bug.
Zarboz for guidance and help with the implementation.
The Jotunn Team for creating Jotunn: The Valheim Library.
MarcoPogo and Jules for helping me with some questions I had in the Jotunn Discord.

Donation Points system

This mod is opted-in to receive Donation Points

Straight donations accepted


This mod introduces two backpack models (thanks to Cinnabunn!) to the game. You can open them with a hotkey (i by default) and store items in them. It's an expansion on Aedenthorn's BackpackRedux mod, and it relies heavily on their precursor work.

Features
• Each backpack has its own separate inventory, and their inventories are preserved even when you toss your backpack to a friend.
• Storing items in the backpack reduces their weight by 50% by default (configurable).
• You can also configure how much they modify your carry capacity and movement speed.
• Localization support. Please let me know if you want to add a translation for your language!
• You cannot teleport with unteleportable items in the backpack.
• Nor can you put a backpack inside a backpack in order to get around this limitation.

Server
• Should be installed on both server and on all clients. If the mod is on the server, it will disconnect clients without the mod.
• All configs (except hotkey) are server-enforceable.

Credits
Feel free to show appreciation by supporting. :)

• Cinnabunn (support) for their amazing art.
• Aedenthorn (support).
• Randy Knapp (support) for their Extended Item Data Framework. Also this fix.
• paddywaan for fixing some of my code and adding a feature via PR.
• Zarboz for guidance and help with the implementation.
• The Jotunn Team for creating Jotunn: The Valheim Library.
• MarcoPogo and Jules for helping me with some questions I had in the Jotunn Discord.

Most of this project is the result of the hard work of these awesome people!

Compatibility Notes
• Compatible with Project Auga!
• Minor compatibility issue with Backpack Redux.

Please let me know if you find any additional bugs, issues or incompatibilities.

Сущности

Функции

JVL предоставляет три отдельные группы функций. Сущности, которые абстрагируют собственные сущности игры в простые в использовании интерфейсы. Менеджеры, которые действуют как интерфейсы между сущностями и собственными коллекциями или подсистемами. Утилиты, которые нужны для помощи в общих / общих функциях, которые могут охватывать множество различных областей.

Читайте также: