You are viewing a potentially older version of this package. View all versions.
dannanboi-StonePortalControl-1.0.4 icon

StonePortalControl

Gives you full control over stone portals. Item Restrictions, Portal Scale and Recipe Removal/Edit. Server-synced and locked config in multiplayer.

Date uploaded 5 hours ago
Version 1.0.4
Download link dannanboi-StonePortalControl-1.0.4.zip
Downloads 10
Dependency string dannanboi-StonePortalControl-1.0.4

README

Description

Stone Portal Control 1.0.4 lets you customize stone portal restrictions, size and recipes. Required on clients and servers. Gameplay settings are server-synced and locked in multiplayer; UI stays local. Offline play uses local settings.

Overview

Feature Description Synced from Server
Enabled Disable the mod's runtime logic after restarting. No, local startup option
Item restrictions Block non-teleportable items through stone portals. Yes
Portal scale Set stone portal size from 50% to 100%. Yes
Disable Stone Portal Recipe Remove the recipe, prevent discovery and block construction. Yes
Use custom recipe Toggle custom construction materials for stone portals. Yes
Custom recipe Define materials using Item1[amount],Item2[amount]. Yes
Show item restrictions text Add hover text showing whether item restrictions are enabled. No, local option
Show portal scale text Add hover text showing the active portal scale. No, local option

Configuration and values

Config: BepInEx/config/dannanboi.stoneportalcontrol.cfg, with no subfolder. Enabled is under [General], gameplay options under [Settings] and hover options under [UI].

Enabled true runs the mod. false disables its patches, networking and runtime logic. Enabling or disabling requires a restart. Default: true.

Item restrictions true blocks items with m_teleportable = false through stone portals, including mod-added items, even when the world's portal modifier allows all cargo. false restores the original item allowance. Wooden portals and other mod features are unchanged. Default: true.

Portal scale A decimal from 0.5 through 1: 50–100% of the original scale on each axis. Applies to existing portals, new portals and construction previews. Default: 1.

Disable Stone Portal Recipe true hides the recipe, prevents discovery and construction, and clears learned knowledge from loaded characters. Other characters are updated on their next load. Existing portals remain usable. false allows normal discovery again. Default: false.

Use custom recipe true uses Custom recipe. false ignores the string and restores the original requirements. Disable Stone Portal Recipe takes precedence. Default: false.

Custom recipe Format: Item1[amount],Item2[amount], using exact, case-sensitive prefab names and positive whole-number amounts. Example: Wood[20],Stone[10]. Mod-added items must exist on the server and every client. Duplicate items and malformed entries are rejected when enabled.

Default: GreydwarfEye[10],Grausten[30],MoltenCore[2], the original stone portal recipe.

Changes update building costs and the placement preview; vanilla station and placement rules remain unchanged. Existing loaded portals keep their material requirements. After a world reload, material recovery follows the active recipe; historical costs are not stored.

Show item restrictions text true adds Item restrictions: Enabled or Item restrictions: Disabled below the vanilla portal text. Default: false.

Show portal scale text true adds Scale: 50%, Scale: 75%, Scale: 100%, etc., using the active scale value. Default: false.

All five [Settings] options are server-controlled in multiplayer. Local edits cannot override them; your file stays unchanged and local preferences return after disconnecting. Both [UI] options are never synchronized and preserve vanilla hover text.

Settings and UI changes apply live, usually within one second plus network latency. Invalid edits retain the last valid settings. Enabled requires a restart.

Manual Installation

  1. Install BepInEx/plugins/StonePortalControl/dannanboi_StonePortalControl.dll on clients and servers. Remove older or duplicate DLL copies before upgrading.
  2. Start the game or server once to generate BepInEx/config/dannanboi.stoneportalcontrol.cfg.
  3. For multiplayer, edit the server or host's [Settings] options. Each player controls their own [UI] preferences.

Compatibility

Requires BepInEx 5 for Valheim. No Jotunn or separate ServerSync dependency is required. Mods that alter portal teleportation, scaling or construction recipes may conflict.

Use 1.0.4 on the server and every client. Missing or disabled clients receive a generic connection failure; the server log names the required mod/version. Installed mismatched clients receive a mod-specific message.

Clients also reject servers without the matching mod. Remove or disable it in that profile to join an unmodded server. Other portal mods have not been tested in-game.

dannanboi Mod Philosophy

My mods aim to be small, modular mods that stay close to the vanilla experience of Valheim and work well together or independently. You can stack all my mods with all options switched on to change the game a lot, but you can also cherry-pick just the features you want or like for your style of playing. I believe that, as a player, it is truly your experience and run, and as such, you should be able to customize it just the way you want to. You should never be forced into unwanted features "as an added bonus" or "nice to have"; they should always be options. All my mods are designed with a hierarchical mindset in multiplayer, where the server dictates all gameplay-influencing options and purely visual options stay local and up to each player.

Credits

You, the player. Thank you for using my mod!

Source

GitHub: https://github.com/dannanboi

CHANGELOG

1.0.4

  • Added config option to change the recipe.

1.0.3

  • Added [General] Enabled, a local startup switch. Setting it to false and restarting disables the mod's patches, networking and runtime updates. Re-enabling also requires a restart.
  • Moved hover-text options into [UI]. They are now local-only, update live while connected and are never synchronized with or checked against the server. Server updates do not change each player's visibility preferences.
  • Renamed Show enabled text to Show item restrictions text and Show scale text to Show portal scale text. Both default to false. Vanilla portal hover text is preserved.
  • Kept all gameplay options under [Settings], synchronized, locked and dictated by the server in multiplayer: Item restrictions, Portal scale and the new Disable Stone Portal Recipe.
  • Added Disable Stone Portal Recipe. When true, it prevents discovery, removes the stone portal from building menus and blocks placement, including an already selected placement preview. Existing built portals remain usable.
  • Recipe disabling removes previously learned stone portal knowledge from loaded characters. Other characters are updated when they next load with the setting active; normal character saves retain the removal. Turning the option off restores normal recipe discovery for eligible characters.
  • Added live synchronization of the recipe setting. Recipe and building-menu refreshes occur on native game events or settings changes, with no recurring player scans or recipe polling.
  • Added automatic migration of previous hover-option names and locations, preserving explicit preferences and removing obsolete entries. New names take precedence when both old and new keys exist; missing UI options default to false. Generated BepInEx metadata reflects the new names and defaults.
  • Enabled clients now check local config metadata once per second while connected so UI edits apply live. File contents are read only after changes; gameplay values remain locked to the server. Logs distinguish server-controlled gameplay from local UI preferences.

1.0.2

  • Bugfixes when connecting in multiplayer.

1.0.1

  • Minor adjustments.

1.0.0

  • Initial release.