You are viewing a potentially older version of this package. View all versions.
BarryWhite-BossGatedPortals-0.2.0 icon

BossGatedPortals

Ores and metals can be teleported once you have defeated that biome's boss. Fully configurable.

Date uploaded 2 days ago
Version 0.2.0
Download link BarryWhite-BossGatedPortals-0.2.0.zip
Downloads 3
Dependency string BarryWhite-BossGatedPortals-0.2.0

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 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.2351
ValheimModding-Jotunn-2.30.2 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.2

README

BossGatedPortals

Ores and metals can be teleported once you have defeated that biome's boss. Fully configurable. Made to run with XPortal; also works with vanilla portals.

Source: github.com/skatefast29/BossGatedPortals

Features

  • One tier per boss, each unlocking its biome's items. Item lists are configurable.
  • Two unlock conditions (each switchable):
    • boss killed on this world
    • this player has picked up the boss drop
  • Final tier unlocks everything, including items no tier lists.
  • Zone hints when a portal refuses you. Never names a boss.
  • Accurate tooltips and inventory icons, per player.
  • Unlock announcements to all players on a boss's first kill.
  • NeverTeleport list for items that stay blocked forever.
  • Cart cargo gated when a cart-teleport mod is used.
  • Admin tools: portalgate status command and optional AdminBypass.
  • Server-synced, admin-only settings, editable live with F1. Version check: server and clients need the same major.minor version (e.g. any 0.1.x).
  • Startup checks log item typos, duplicate items, unlisted blocked items and conflicting mods.

Installation

Requires: BepInExPack_Valheim, Jotunn.

  • Install on the server and every client (same major.minor version, e.g. any 0.1.x; the newest is recommended).
  • Gale / r2modman: Import → local mod, pick the zip.
  • Manual: copy BossGatedPortals.dll to BepInEx/plugins/BossGatedPortals/.

Config: BepInEx/config/com.jtmill01.bossgatedportals.cfg (created on first launch).

Tiers (defaults)

Tier Biome Unlocks
T0 Meadows nothing
T1 Black Forest CopperOre, Copper, CopperScrap, TinOre, Tin, Bronze, BronzeScrap
T2 Swamp IronOre, IronScrap, Iron, Ironpit
T3 Mountains SilverOre, Silver, DragonEgg
T4 Plains BlackMetalScrap, BlackMetal
T5 Mistlands MechanicalSpring, DvergrNeedle
T6 Ashlands FlametalOreNew, FlametalNew, FlametalOre, Flametal, CharredCogwheel
T7 Deep North GoldOre, Gold, and everything else

Hildir's chests never teleport unless HildirChestsByTier is on. Other unlisted blocked items unlock at T7.

Per-tier settings:

Setting Meaning
GlobalKey World key set by the boss kill
BossItem Boss drop the player must have held
Items Items unlocked, comma-separated
Hint Shown when blocked
UnlockMessage Announced on first kill
AllowEverything T7 only: unlock all blocked items

Settings

All admin-only and server-synced, except those marked client.

Section Setting Default Description
General Enabled true Master switch
General RequireWorldKey true Boss killed on this world
General RequirePlayerBossItem true Player has held the boss drop. If both are false, world key is required.
General CumulativeTiers false A later tier unlocks all earlier tiers
Item Rules NeverTeleport (empty) Items never teleportable
Item Rules HildirChestsByTier false Hildir's chests unlock with their biome's tier (Brass T1, Silver T3, Bronze T4)
Item Rules GateListedVanillaItems false Also gate listed items vanilla allows
Item Rules FinalTierIncludesCheatTier false T7 also unlocks tool-tier 1000+ items
Item Rules LogUnmappedItems true Log blocked items not in any tier
Item Rules ValidateItemIds true Warn on unknown item names
Messages ShowUnlockHint true Show the tier hint when blocked
Messages HintFormat An item blocks the portal. {hint} Supports {hint} and {item}
Messages HintPosition Centered Client. Centered or TopLeft
Messages HintCooldownSeconds 5 Client. Seconds between hints (0–60)
Messages AccurateTooltips true Per-player tooltips and icons
Messages AnnounceTierUnlock true Announce first boss kills
Admin AdminBypass false Admins ignore the gate
Admin EnableStatusCommand true Enable portalgate status
Compatibility RespectVanillaAllowAll true Don't block Stone Portals or the allow-all Portals world modifier
Compatibility GateAttachedCartCargo true Gate cart cargo
Compatibility WarnOnConflictingMods true Warn about conflicting mods
XPortal Compatibility LogPortalModDetection true Log XPortal/XPortalNetworks versions, warn on AnyPortal

Compatibility

Tested in game with XPortal 1.2.25. The mods below were checked by reading their code:

  • Portal mods: TargetPortal, Unified Target Portal, XPortalNetworks, PortalRules, PotalMap, Better Portal, Portal Stations, Waypoints and Waystones all ask the game's own item check, so the tiers and unlock hints apply to them too. Their own "ignore item restrictions" settings are warned about at startup when they're on. QuickTeleport and FastTeleport only change loading times.
  • Bags: items in AdventureBackpacks, Smoothbrain's Backpacks and RustyBags bags are gated like items in your inventory, and unlock with their tiers. Jewelcrafting's bags only hold gems and jewelry. ExtraSlots and AzuExtendedPlayerInventory slots are part of your inventory.
  • Mods that change items: if another mod makes a tier-listed item teleportable (for example the item file of Creature Level & Loot Control), the log says so once. Set GateListedVanillaItems = true to gate it anyway.
  • Warned at startup: mods with their own item gate (ServersideQoL's PortalProgression add-on, AdvancedPortals), and settings that let every item through: TeleportEverything's TransportRestrictedItems (on by default), AzuMiscPatches, ValheimPlus, TargetPortal, Unified Target Portal, Portal Stations, Waypoints, Waystones, ReturnScroll, PortalRules' paid fares, and TeleportationMeads.
  • Proper Portals: its faster loading screens work; its "carry anything" doesn't, because this mod's check still runs.
  • Not gated: ways to move items that don't use portals (shipping mods, cross-server portals, admin commands), and tames teleported with saddlebags full of ore.

Known limits

  • Checks run client-side; a modified client can bypass them.
  • After Valheim updates, check the log for ValidateItemIds and LogUnmappedItems warnings.

Source and bug reports

Source code and bug reports are on GitHub. MIT licensed.

Credits

CHANGELOG

Changelog

1.0.2

  • Minor README fixes.

1.0.1

  • Minor README fixes.

1.0.0

Now BossGatedPortals Plus: still a portal progression mod first, with optional extras that are off by default. Same Thunderstore package, so it updates as usual.

Updating

  • Server owners: update the server and every player (players need 1.0.x).
  • The config file is now BarryWhite.BossGatedPortals.cfg. Your old file's settings are copied into it on first start, then carried over to the new setting names below; the old file is kept as BarryWhite.BossGatedPortals.cfg.before-1.0.0.

Progression

  • New installs unlock a tier for everyone once its boss is killed on the world (UnlockWhen = BossKilled). Existing servers keep their current rule.
  • The hint now says where the blocking item is when it isn't in your inventory: "in your Cart", "in Lox's saddlebags", "in your Explorer's Backpack" (new {where} in HintFormat; an unchanged hint text is updated automatically).
  • LogItemChecks now also warns about a tier missing the world key or boss item it needs (it would never unlock).
  • Inventory icons and tooltips are about three times faster: item names and unlocked tiers are looked up once instead of for every item, and Backpacks bag checks are a direct call instead of a slow lookup.
  • Saddlebags on tames the TeleportEverything 1.0 fork brings along are gated too. New startup warnings: the fork's Transport Ores (lets every item through), and ServersideQoL TameAssist's follower teleport (following tames' saddlebags skip the gate).

Optional extras (off by default)

  • [5 - Travel], each switched on separately:
    • BringMount: ride into a portal and your mount comes with you; you're put back in the saddle.
    • BringCart: a cart you're pulling comes with you and is hitched back to you.
    • BringTames: tames near you come with you. Choose which with the Tame… settings right under it: following you, named, or all tames, how far away, how many, which creatures, and whether summons come too. Tames following another player, or pulling a cart, never come.
    • A cart your horse pulls (OdinHorse) comes along with BringMount and BringCart both on, and is hitched back to the horse; with BringCart off it's unhitched and left behind.
    • Carts are always hitched back to whoever pulled them, even with other animals nearby.
    • Cart cargo and saddlebags follow the tiers like your own inventory, and a portal doesn't glow while they hold something locked.
    • Only through portals you walk into (vanilla and XPortal).
  • Steps aside for mods that already do the same job, with a line in the log: Travel while either TeleportEverything (Zenox's, or the 1.0 fork) is on; Portal Speed while QuickTeleport (OdinPlus or Muindor), FastTeleport or Proper Portals is installed.
  • [4 - Portal Speed], set to the game's own timings: FadeSeconds (default 1) sets how fast the screen fades when you step into a portal, down to 0 for instant; MinimumLoadingSeconds (default 8) sets the shortest loading screen, down to 0. Real loading time is never cut.

Shorter, regrouped config (your settings carry over automatically; the old lines are removed)

  • Sections: 1 General, 2 Item Rules, 3 Messages, 4 Portal Speed, 5 Travel, 6 Compatibility, 7 Admin, 8 Client.
  • RequireWorldKey and RequirePlayerBossItem became one choice, UnlockWhen: BossKilled, BossKilledAndDropHeld or DropHeld.
  • ShowUnlockHint is gone: an empty HintFormat turns the hint off.
  • GateAttachedCartCargo and GateTameCargo became GateCompanionCargo.
  • GateListedVanillaItems is now LockListedItemsAlways, with a clearer description.
  • ValidateItemIds and LogUnmappedItems became LogItemChecks; EnableStatusCommand is now StatusCommand.
  • LogPortalModDetection is gone: the XPortal version is always logged, and the AnyPortal warning is part of WarnOnConflictingMods.
  • RespectVanillaAllowAll moved to Item Rules; HintPosition and HintCooldownSeconds, the settings each player chooses, have their own Client section.

0.2.1

  • New GateTameCargo setting (on by default): when TeleportEverything, or Waypoints with "Teleport Tames" on, brings tames through with you, items in their saddlebags follow the tiers too (LoxSaddleBags, OdinHorse, or any container on a tame). Normal portals without those mods are unaffected.

0.2.0

  • Server owners: update the server and every player. Players need 0.2.x to join a 0.2.0 server, so nobody can keep using the backpack exploit below on an older version.
  • Fixed: ore in an AdventureBackpacks bag could go through portals before its boss was defeated. Bag contents now follow the tiers, and the hint names the right boss area.
  • Smoothbrain's Backpacks and RustyBags: items in their bags now unlock with their tiers. Before, they stayed blocked until the final tier.
  • The ServersideQoL warning now only appears for its PortalProgression add-on, not for every ServersideQoL part.
  • New startup warnings when another mod is set to let every item through: TeleportEverything (on by default), AzuMiscPatches, ValheimPlus, TargetPortal, Unified Target Portal, Portal Stations, Waypoints, Waystones, ReturnScroll, PortalRules (paid fares) and TeleportationMeads.
  • New log warning if a tier-listed item is teleportable anyway because another mod changed it.

0.1.4

  • Server owners: update the server first. From this version, players only need the same major.minor version as the server (any 0.1.x), so future bug-fix releases won't lock anyone out.
  • Safer against future Valheim updates: if an update makes part of the game private (what broke portals in 0.1.2), the mod keeps working instead of throwing errors.
  • Every hook now falls back to vanilla behaviour if something goes wrong, including the inventory icon, the unlock hint and the unlock announcement.
  • Better compatibility with other mods: the portal item check now runs after the game's own check instead of replacing it. No change in-game.
  • Small fixes from Valheim modding guidance: the config file is written once at startup, and the mod no longer unhooks itself when the game closes.

0.1.3

  • Fixed portals not working at all after the September 2026 Valheim update (the cart cargo check crashed).
  • Safer against future game updates: if a game change breaks one of the mod's hooks, that feature falls back to vanilla with an error in the log, instead of breaking portals, tooltips or the inventory.
  • Requires BepInExPack Valheim 5.4.2351.

0.1.2

  • Source code on GitHub (linked from the mod page and README). No gameplay changes.

0.1.1

  • Iron Pit unlocks in Swamp, Dvergr Extractor in Mistlands; Petrified Tissue and Bloodgold listed in Deep North.
  • New HildirChestsByTier setting (off by default): Hildir's chests never teleport unless enabled.

0.1.0

First release.

  • Teleport-blocked items unlock one tier per boss (world key + the player has held the boss drop).
  • The last tier (Deep North) unlocks everything; NeverTeleport list for permanent blocks.
  • Zone hints when a portal refuses you (never name a boss), with a per-player cooldown and position.
  • Tooltips and inventory icons show the real per-player teleport result.
  • Server-wide unlock announcements, admin-only portalgate status, optional AdminBypass.
  • Cart cargo gate for cart-teleport mods; conflict and XPortal/AnyPortal detection in the log.
  • Server-synced, admin-only settings; strict version check.