ItemHopper Valheim1Compat
Unofficial Valheim 1.0 compatibility build of MSchmoecker's ItemHopper, based on Faryzal2020's ValheimPipes fork.
About this mod Author’s original text
ItemHopper - Valheim 1.0 Compatibility
Unofficial Valheim 1.0 compatibility release of ItemHopper / ValheimHopper.
ItemHopper provides physical hoppers and pipes for moving items between
containers and production machines.
This is not an official release by MSchmoecker.
1.0.1 - Valheim 1.0 Production Machine Fixes
Version 1.0.1 fixes additional Valheim 1.0 API changes discovered during
production-machine testing.
Valheim 1.0 added a cheated parameter to both:
- Smelter.RPC_AddOre
- CookingStation.RPC_AddItem
The previous compatibility build still used the old RPC signatures. This could
cause an item to be removed from a hopper successfully while the target machine
rejected the outdated RPC, making the item appear to vanish.
The corrected build preserves and sends the item's m_cheated state.
This affects Smelter-style processing inputs including:
- Charcoal Kiln wood
- Smelter ore
- Blast Furnace ore
- Windmill barley
- Spinning Wheel flax
- Eitr Refinery Soft Tissue
CookingStation item insertion has also been updated for the new Valheim 1.0
RPC signature.
Smelter input handling now also checks that source inventory removal succeeds
before sending items to the target machine.
Requires MultiUserChest
This mod requires the separate:
MultiUserChest_Valheim1Compat
package.
The hopper system uses MultiUserChest internally and will not function
correctly without it.
Compatibility
Built and tested with:
- Valheim 1.0.7
- Network version 39
- BepInExPack Valheim 5.4.2350
- Jotunn 2.30.0
- MultiUserChest 0.6.3 compatibility build
- Linux client
- Linux dedicated server
What was fixed
This build is based on:
- MSchmoecker's original ItemHopper / ValheimHopper
- Faryzal2020's ValheimPipes fork
Additional Valheim 1.0 compatibility work was required.
Valheim 1.0 inventory API
Valheim changed:
InventoryGrid.Element
to:
InventoryElement
and changed:
element.m_pos
to:
element.Position
The mod was updated for those new APIs.
Current game libraries
The old build referenced pre-1.0 Valheim game libraries and older Unity
assemblies.
This build now compiles against:
- the actual Valheim 1.0.7 managed assemblies
- Jotunn 2.30.0
AssetBundle script compatibility
The embedded Unity AssetBundle was created against the original assembly and
script identities.
The ValheimPipes fork had changed those identities, causing dedicated servers
to report errors such as:
The referenced script (ValheimHopper.Logic.Hopper) on this Behaviour is missing!
To restore AssetBundle compatibility, this build restores:
- assembly name ValheimHopper
- namespace ValheimHopper.Logic
- namespace ValheimHopper.UI
The newer fork's plugin class remains under ValheimPipes.Plugin, with explicit
references from the restored logic namespace.
This allows the existing embedded hopper and pipe prefabs to resolve their
MonoBehaviour scripts correctly again.
Plugin version
The BepInEx plugin identifies as:
ValheimPipes 1.0.1
The DLL is intentionally named:
ValheimHopper.dll
because the embedded AssetBundle depends on that original assembly identity.
Installation
Install this mod and its dependencies on the dedicated server and every client.
Do not install it alongside:
- MSchmoecker-ItemHopper
- another ValheimHopper.dll
- another ValheimPipes compatibility build
Credits
Original author
Maximilian Schmöcker / MSchmoecker
Original author of ItemHopper / ValheimHopper.
Models and icons
Bento#5066
Credited by the original ItemHopper project for the hopper models and icons.
Continued fork
Faryzal2020
Maintainer of the ValheimPipes fork used as the starting point for this
Valheim 1.0 compatibility work.
MultiUserChest compatibility
Ultroman
Maintainer of the Valheim 1.0 MultiUserChest fork used by the required
MultiUserChest compatibility package.
Libraries
Thanks to the BepInEx and ValheimModding/Jotunn projects and maintainers.
License
The upstream project is licensed under the MIT License.
The original license notice is included in th
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: