You are viewing a potentially older version of this package. View all versions.
donkeytuesday-ItemHopper_Valheim1Compat-1.0.1 icon

ItemHopper Valheim1Compat

Unofficial Valheim 1.0 compatibility build of MSchmoecker's ItemHopper, based on Faryzal2020's ValheimPipes fork.

Date uploaded 3 weeks ago
Version 1.0.1
Download link donkeytuesday-ItemHopper_Valheim1Compat-1.0.1.zip
Downloads 609
Dependency string donkeytuesday-ItemHopper_Valheim1Compat-1.0.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2350
ValheimModding-Jotunn-2.30.0 icon
ValheimModding-Jotunn

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.

Preferred version: 2.30.0
donkeytuesday-MultiUserChest_Valheim1Compat-1.0.0 icon
donkeytuesday-MultiUserChest_Valheim1Compat

Unofficial Valheim 1.0 compatibility build of MSchmoecker's MultiUserChest, based on Ultroman's Valheim 1.0 fixes.

Preferred version: 1.0.0

README

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 the LICENSES directory.

This package does not claim authorship of the original mod, models, artwork, or upstream fork work.

Source projects

  • MSchmoecker/ValheimHopper
  • Faryzal2020/ValheimPipes

CHANGELOG

Changelog

1.0.1

Valheim 1.0 production-machine compatibility fixes.

Fixed

  • Fixed items disappearing when inserted into Smelter-based production machines.
  • Updated Smelter.RPC_AddOre calls for the Valheim 1.0 API, which now requires the item's cheated state.
  • Fix applies to Smelter-style processing inputs including:
    • Charcoal Kiln wood
    • Smelter ore
    • Blast Furnace ore
    • Windmill barley
    • Spinning Wheel flax
    • Eitr Refinery Soft Tissue
    • compatible modded machines using Valheim's Smelter input system
  • Fixed CookingStation inputs using the old pre-1.0 RPC_AddItem signature.
  • CookingStation inputs now preserve the item's cheated state required by Valheim 1.0.
  • Added a safety check so Smelter inputs do not continue if removal from the source inventory fails.
  • Preserves relevant item metadata before source inventory removal.

Technical

Valheim 1.0 changed:

Smelter.RPC_AddOre(long sender, string name)

to:

Smelter.RPC_AddOre(long sender, string name, bool cheated)

and changed:

CookingStation.RPC_AddItem(long sender, string itemName)

to:

CookingStation.RPC_AddItem(long sender, string itemName, bool cheated)

The old RPC calls could successfully remove an item from the hopper while the target machine rejected the outdated RPC, causing the item to disappear.

The following audited RPC signatures remain compatible with Valheim 1.0.7:

  • RPC_AddFuel
  • RPC_AddAmmo
  • RPC_SetSlotVisual

1.0.0

Initial Valheim 1.0 compatibility release.

  • Based on MSchmoecker's ItemHopper / ValheimHopper.
  • Uses Faryzal2020's ValheimPipes fork as the compatibility base.
  • Updated InventoryGrid.Element to InventoryElement.
  • Updated m_pos to Position.
  • Removed stale ValheimGameLibs references.
  • Removed stale explicit Unity assembly references.
  • Compiled against Valheim 1.0.7 assemblies.
  • Updated for Jotunn 2.30.0.
  • Restored assembly identity ValheimHopper.
  • Restored ValheimHopper.Logic.
  • Preserved ValheimHopper.UI.
  • Fixed missing hopper/pipe MonoBehaviour bindings on dedicated servers.
  • MultiUserChest supplied as a separate required package.