Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
SurtlingFuelItemHopperFix
Lets ItemHopper feed Surtling Cores and configured core fuels into smelters and blast furnaces. Prevents coal/core mixing and protects honey/drop transfers, including item provenance.
CHANGELOG
Changelog
1.2.2
- Preserve the cheated-item provenance flag when a successful hopper pickup merges into an existing stack.
- Keep the destination's existing count and flag unchanged when pickup fails and insertion is rolled back.
- Clarified core fuel rules, Black Core consumption, configuration, multiplayer requirements and the remaining network transaction limit.
- Updated package dependencies to the checked Valheim 1.0.16 setup.
1.2.1
- Fix the startup
IL Compile Error / Unexpected nullinvolving SurtlingFuel's obsoleteCharacter.Messagecall. - Replace legacy manual-fueling and core-RPC execution with current-API handlers; stop patching the broken dependency methods.
- Keep the smelter/blast-furnace allowlist and receiving-owner checks, including explicit rejection of core fuel on other machine types.
- Route ItemHopper honey and dropped-item pickups around their obsolete inventory methods, preserving item metadata and checking insertion success.
- Preserve coal preference, configured core values, speed behavior, BlackCore support, and existing config settings.
- Require matching patch versions on server and clients so broken 1.2.0 clients cannot take over machine processing.
- Add a Mono regression fixture that reproduces the old error and checks all 16 new Harmony target wrappers plus fuel edge cases.
1.2.0
- Rebuilt against Valheim 1.0.12 and matching BepInEx core assemblies.
- Adapted SurtlingFuel 1.4.0 message and fuel-effect calls to the current game API.
- Updated ItemHopper 2.0.0 filter ghosts to InventoryElement and its dropped-item/beehive inventory insertion calls to the current signature.
- Replaced hopper coal and core fuel access with current API calls and cached network-view reflection.
- Fixed hopper ore delivery for the new RPC_AddOre payload, preserving each source item's real cheated/provenance flag.
- Added receiving-owner coal/core separation checks and rejected nonpositive core-fuel requests.
- Preserved the fixed smelter/blastfurnace allowlist, Eitr Refinery rejection, BlackCore option, and synchronized additional-fuel config.
- Requires BepInExPack Valheim 5.4.2350 and Jotunn 2.30.0. Live game verification remains required.
1.1.0
- Restricted every SurtlingFuel core-fuel path to the exact vanilla prefab names
smelterandblastfurnace. - Prevented manual fueling, hover-text changes, speed changes, core-state updates, and RPC fuel addition on all other
Smelter-based machines, including the Eitr Refinery. - Added an owner-side guard to SurtlingFuel's generated core-fuel RPC handler so another mod cannot bypass the machine restriction by invoking the RPC directly.
- Restricted ItemHopper core acceptance and transfer to the same two-machine allowlist.
- Clear stale SurtlingFuel core-state markers from disallowed machines while preserving their existing generic fuel amount.
1.0.1
- Fixed
FieldAccessException: Smelter.m_nview is inaccessiblein the live game. - Replaced direct access generated against the publicized developer assembly with one cached reflection lookup, matching SurtlingFuel's own runtime-safe approach.
- The 1.0.0 exception occurred during ItemHopper's eligibility check, before its removal/transfer method, so it blocked transfers but did not delete hopper items.
1.0.0
- Added correct ItemHopper transfer support for Surtling Cores through SurtlingFuel's core-fuel RPC.
- Added Black Cores to a server-synced additional-fuel list by default.
- Added support for more prefab names through one server-synced config entry.
- Preserved SurtlingFuel's coal/core no-mixing rule for automated hopper transfers.
- Limited alternative fuels to coal-powered
Smeltermachines. - Added fail-closed method resolution so an incompatible SurtlingFuel update does not consume hopper items through the wrong RPC.