Adds a craftable Hearthstone that teleports you to your bed spawn point. 10 minute cooldown, reusable, never consumed, no gear loss, bypasses all portal restrictions since it never uses the portal system.
Found and fixed the REAL bug behind the teleport never firing - it's been here
since 1.0.0. Your BepInEx log had it in plain text the whole time:
[Error:HarmonyX] Failed to patch void Humanoid::UseItem(...): System.Exception: Cannot get result from void method. Our prefix declared a ref bool __result
parameter, which tells Harmony "the original method returns bool, hook its
return value" - but on this game version, Humanoid.UseItem actually compiles
to a void method, not bool. That mismatch made Harmony refuse to weave the
patch in AT ALL, silently, on every single load since the mod's first
release - not because of ItemType (1.0.3) and not because of Player's
override (1.0.4's theory - a real and still-worthwhile defensive fix, kept in
this version, but not what was actually broken). Removed __result entirely;
the prefix now just returns bool to tell Harmony whether to run vanilla's
code afterward, which was always the only thing that return value needed to
do. This is the fix that should finally make the Hearthstone actually
teleport you.
1.0.4
Fixed the Hearthstone playing the food/consumable sound and vanishing instead
of teleporting (the 1.0.3 fix made it activate instantly on right-click, but
our Harmony patch still never actually ran). Cause: Player overrides
Humanoid.UseItem with its own compiled method, so patching
typeof(Humanoid), nameof(Humanoid.UseItem) only patched the base class's
copy - the game was really calling Player's own override, which our patch
never touched, so vanilla's normal "consumable" handling ran instead (eat
sound, then destroy the item). Now explicitly locates and patches whichever
method actually runs on both Humanoid and Player, so this can't silently miss
again. Also added a temporary diagnostic log line so future issues like this
show up immediately in the console instead of just failing silently.
Swapped Silver out of the recipe for Leather Scraps (5, configurable). Silver
needs a Mountain-biome pickaxe and smelting - way too late-game for an item
meant to be craftable early. Recipe is now FineWood x5, LeatherScraps x5,
GreydwarfEye x5 (all editable in the BepInEx config file).
1.0.3
Fixed the Hearthstone doing nothing when used (showed vanilla's "Use Hearthstone
on what?" prompt instead of teleporting). The item was cloned from AmberPearl,
which is an ItemType.Material - right-clicking a Material item never calls
Humanoid.UseItem, so our activation patch never ran. Now explicitly set to
ItemType.Consumable (same category as potions/food), which activates instantly
on right-click like intended.
1.0.2
Rewrote README.md - it had personal/machine-specific build notes in it
that don't belong on a public listing page. No functional changes.
1.0.1
Added a guaranteed-to-render warm light burst effect at both ends of the
teleport (departure and arrival), built from plain UnityEngine primitives
so it doesn't depend on any specific Valheim asset name.
1.0.0
Initial release: craftable Hearthstone item, Workbench recipe, teleport-to-bed
on use via Harmony patch, 10-minute per-item cooldown, configurable recipe
cost and cooldown.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.