EasyTeleport

v1.3.0·Updated 2026-09-18

[AI-generated] Vanilla-styled world-map buttons: teleport back to your bed, or click anywhere on the map to teleport there. Hold Ctrl to drag the buttons anywhere; position is saved. Safe landing: no

About this mod Machine translation

EasyTeleport

Teleport button on the big map. Open the map (M), and two buttons will appear in the upper left corner of the screen -

The appearance is assimilated to the native controls of the game by default (the original panel base image is inherited at runtime) and will not look like plug-in stickers.

| Button | What to do |

| --- | --- |

| Teleport back to bed | Teleport to the bed you recorded (the birth point set by sleeping in the bed). |

| Teleport at will | Click → the button turns green to enter the selection → click anywhere on the map to teleport there.

Press the button again to cancel. |

Move position: Hold down Ctrl and drag the button group with the left button. You can place it anywhere on the screen. Release it and save it automatically.

When Ctrl is pressed, the button text turns light yellow, indicating "Now you can drag."

It is safe to teleport to the ground: the land will automatically fall to the ground, you will float and swim on the water surface, and you will never fall to death.

Teleportation works in any state - swimming, running, jumping, on a boat, or in water.

AI generated statement: This module is written by the AI ​​agent (WorkBuddy) under the clear needs and itemized acceptance of the user;

Requirements description, interaction design, and release decisions are all driven by users.

usage

teleport back to bed

  • First press E next to the bed to take a nap (this step will record the birth point in the character file; if you click the button without sleeping, it will prompt "The bed has not been recorded yet").
  • Press M to open the big map → click "Teleport back to bed" in the lower right corner → the black screen fades in and out → the person is already beside the bed.

Teleport at will (go wherever you click on the map)

  • Press M to open the large map.
  • Click "Any Teleport" - the button turns green and displays "Cancel·Click on the map to select a point", and a prompt pops up in the upper left corner.
  • Click anywhere on the map → teleport directly there.
  • Is it off? Just click on the map again (the selected state will remain until you successfully transfer or cancel it actively).
  • Don't want to pass it on? Click the button again to cancel, or press M to close the map (it will also cancel automatically).

⚠️ The game has a 2-second cooldown for teleportation (the same as the original teleportation). If you try to send it again immediately after sending it, it will be rejected.

A message will appear on the screen saying "Teleport rejected by game - usually because you just teleported". At this time, the waiting state will not be lost. Just wait a second or two and click on the map again.

How to ensure safety at the landing point

This section does not write its own terrain algorithm - instead, it uses a set of ground-level correction processes that already exist in the original Player.UpdateTeleport.

Then feed it a height value that "is true on any terrain". All conclusions come from disassembly of assembly_valheim.dll.

Original process (Player.UpdateTeleport, when distantTeleport = true)

① player.position = (x, Y, z) we gave ← Here Y is the only thing we can control

② Wait for ZNetScene.IsAreaReady(target) ← Remote teleportation is here and wait for the area to be loaded.

③ if (ZoneSystem.FindFloor(target, out floor)) ← Raycast(target + up×1, down, 1000 m)

return; ← ★ The hit ends, the player height = the Y we gave (no more correction)

④ else (missed)

player.y = ZoneSystem.GetSolidHeight(target) + 0.5

← Raycast(target + up×1000, down, 2000 m)

At the same time, the original version will execute Character.m_maxAirAltitude = transform.position.y at the moment when the player is moved;

Fall damage = current height − historical highest altitude, so when teleporting to the ground, the difference is always 0 ⇒ No fall injury.

We take Y = ZoneSystem.c_WaterLevel

ZoneSystem.c_WaterLevel is a public const, which is 30.0f (Valheim sea level) when read from the DLL's Constant table.

Taking th …

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. 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.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. 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.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_Valheim

File & checksum

Filename
EasyTeleport-1.3.0.zip
File size
55.0 KiB