You are viewing a potentially older version of this package. View all versions.
nbusseneau-Better_Cartography_Table-0.5.6 icon

Better Cartography Table

Allows precise control over sharing pins and map exploration via cartography tables. Supports private pins, public pins, and guild pins. Supports NoMap runs, giving cartography tables a purpose in NoMap. Translations available.

Date uploaded 2 weeks ago
Version 0.5.6
Download link nbusseneau-Better_Cartography_Table-0.5.6.zip
Downloads 501
Dependency string nbusseneau-Better_Cartography_Table-0.5.6

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2202 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2202
ValheimModding-Jotunn-2.20.1 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.20.1

README

Better™️ Cartography Table

Valheim mod that allows precise control over sharing pins and map exploration via cartography tables. Supports private pins, public pins, and guild pins. Supports NoMap runs, giving cartography tables a purpose in NoMap. Translations available.

Video showcase

(Click on items to show details)

Private and public pins

Astrid and Brynhild are playing together, however Astrid has a tad too many mushroom pins for Brynhild's liking. Thanks to Better™️ Cartography Table, their friendship is safe, as Astrid can selectively decide which pins to share on the public cartography table.

https://github.com/nbusseneau/BetterCartographyTable/assets/4659919/e13e6267-88ad-4aee-bdfe-f78e807bc2f8

Real-time collaboration

Astrid and Brynhild are planning their next expedition. Thanks to Better™️ Cartography Table, it will be a great success, as they can collaborate and prepare it in real time on the public cartography table.

https://github.com/nbusseneau/BetterCartographyTable/assets/4659919/e535a301-994f-4129-b9ec-3e51685bab2c

Guild pins

Astrid and Brynhild are members of rival guilds (The Mushroom Enjoyers and The Ground Shakers), and neither wants their archnemesis to know about their secret hideout. Thanks to Better™️ Cartography Table, their rivalry is fueled, as guild members can share guild-only pins on their guild-restricted cartography table.

https://github.com/nbusseneau/BetterCartographyTable/assets/4659919/421e90b4-f00f-4047-b9ce-3839ac499035

Features

  • Pins are private by default, and can be individually shared to cartography tables.
    • You can now safely go ham and pin all those nice berries / copper veins / whatever floats your boat, without worrying about cluttering another player's map.
  • When multiple players interact with the same cartography table at the same time, all changes are reflected in real time.
    • This allows collaborating over the map in real time, especially useful when planning the next expedition.
  • Cartography tables can be public (default) or restricted to a guild (if Guilds is installed).
    • For when you want to share super secret guild hideouts with your mates. Not that it ever happens. Definitely don't look for super secret guild hideouts on your servers. Nope...
  • Map exploration sharing can be public (default), private, or restricted to a guild (if Guilds is installed).
    • In case you need to be extra careful that other players know not where you roamed.
  • If using the NoMap world modifier, the map will be accessible through cartography tables (but only when directly interacting with them).
  • Translations available: English, French. New languages can be added easily (see below for details).

But why?

The vanilla cartography table is extremely quirky. This often leads to frustration on multiplayer servers when multiple players interact with the table on a regular basis, as shared pins seem to disappear / reappear constantly, and crossing off shared pins does not update the table.

On top of that, since the vanilla cartography table is "all or nothing", some players might refrain from engaging altogether. This is typically the case for those that like to meticulously pin all berries / copper veins / etc. but don't want others to yell at them for cluttering the table, or those that do not want to share some super secret locations they would prefer to keep private.

And of course, the vanilla cartography table has no purpose in NoMap runs.

Vanilla cartography tables, but Better™️

The goal of this mod is to stick as close as possible to the vanilla experience. We keep cartography tables relevant for sharing both pins and map exploration, same as in vanilla: players must still interact with the same cartography table on a regular basis to synchronize progress with other players. For NoMap runs, the goal is to give cartography tables a purpose.

How it works (click to show details)
  • When opening the map without interacting with a cartography table:
    • Your private pins can be interacted with, same as in vanilla.
    • Public or guild pins previously retrieved from a cartography table can be shown or hidden (akin to vanilla shared pins), but cannot be interacted with (cannot cross off, cannot remove).
    • In NoMap runs, the map will still refuse to open: it can only open by interacting with a cartography table.
  • When hovering a cartography table:
    • Text will appear (akin to vanilla) and list information about the table and how to interact with it.
    • If Guilds is installed, the table can be switched between public mode (default) or guild mode. When a table is in guild mode, only its guild members can interact with it.
  • When interacting with a cartography table:
    • Retrieve other players' map exploration currently shared to the table, same as in vanilla.
    • If map exploration sharing is in public mode (default) or guild mode (and we are interacting with a guild table), share your map exploration to the table.
    • Retrieve public or guild pins currently shared to the table.
    • Open the map:
      • Your private pins can be interacted with, same as in vanilla, but can additionally be shared to the table (becoming public or guild pins).
      • Public or guild pins can be crossed off / removed akin to vanilla, or unshared from the table (becoming private pins on your map).
      • When multiple players interact with the same cartography table at the same time, all changes to public or guild pins are reflected in real time.

Compatibility with vanilla clients

Public and guild pins are stored separately from vanilla shared pins in the cartography table, thus both modded and vanilla clients can interact with the same cartography tables without conflict. Additionally, modded clients will copy public pins to vanilla shared pins, allowing vanilla clients to receive them seamlessly. However, vanilla clients are not able to contribute back: modded clients can only receive pins from other modded clients.

Compatibility with other mods

Better™️ Cartography Table tries to play nice with other mods by isolating its behaviour as much as possible, and failing that by trying to ensure the other mods will contribute pins in a compatible way. Nevertheless, there might be instances where other mods interacting with pins will result in incompatiblities. Feel free to report any issue you find.

Translations

Better™️ Cartography Table comes with the following languages available out of the box:

  • English
  • French

To add a new language as a user:

  • Navigate to your BepInEx/plugins/nbusseneau-Better_Cartography_Table/plugins/Translations/ directory.
    • From r2modman, use Settings > Browse profile folder to find your BepInEx directory.
  • Make a copy of the English directory, then rename it to the appropriate name for your language (see valid folder names).
  • Edit <your_language_name>/BetterCartographyTable.json as appropriate using a text editor.

If you localize Better™️ Cartography Table for your own language, you are most welcome to send your translation file my way, and I will integrate it as part of the languages available by default.

Install

This is technically a client-side mod, but it is strongly recommended to also install the mod server-side for the best experience. If installed on the server, it will enforce all clients to have the mod installed.

Exception: do not install the mod on servers intended for Xbox crossplay, otherwise Xbox players will not be able to join anymore. If you do allow crossplay, note that vanilla clients will not be able to share any of their pins with modded clients (see above for details).

Thunderstore (recommended)

  • [Prerequisite] Install r2modman.
  • Click Install with Mod Manager from the mod page.
  • [Optional] Install Guilds for guild support.

Manually (not recommended)

CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.5.9 - 2024-06-24

Changed

  • Clarifications around server-side enforcement in README.
  • Recolored icon text outline.

0.5.8 - 2024-06-21

Fixed

  • Fix repeating ward flash when hovering a table protected by a ward.

0.5.7 - 2024-06-16

Added

  • Add warning popup when trying to destroy a table storing pins with the Hammer.

0.5.6 - 2024-06-14

Added

  • Replace Hugin cartography table tutorial vanilla text to be consistent with the mod's functionality.

Changed

  • Display cartography modifier key hint using actual Valheim key strings instead of raw key code.

0.5.5 - 2024-06-08

Changed

  • Remove microfreeze when opening / closing tables by greatly improving map exploration sharing handling.

0.5.4 - 2024-06-08

Changed

  • Add further compatibility for sharing private pins manually added by other mods.

0.5.3 - 2024-06-08

Fixed

  • Fix NullReferenceException errors due to keyhints UI update running when it should not.

0.5.2 - 2024-06-08

Fixed

  • Fix NullReferenceException errors due to table distance check running when it should not.

0.5.1 - 2024-06-07

Changed

  • Include missing Ashlands update tag for Thunderstore package.

0.5.0 - 2024-06-03

Added

  • Add config toggle for map exploration sharing.

0.4.3 - 2024-06-01

Changed

  • Document how to add new translations in the README.

0.4.2 - 2024-05-30

Fixed

  • Fix warnings Failed to find rpc method due to RPC methods not being registered immediately.
  • Fix NullReferenceException errors due to Minimap toggles not being fully initialized.
  • Fix shared map exploration toggle label not being replaced from its vanilla defaults.
  • Fix toggles visibility on game load.

0.4.1 - 2024-05-29

Changed

  • Improve README.

0.4.0 - 2024-05-29

Added

  • Automatically close map when moving too far away from the cartography table.

Changed

  • Support for 0.218.15 (Ashlands).
  • Improve compatibility with others mods that also interact with pins.
  • Forbid changing table sharing mode if any pins are stored on the table (instead of allowing it with a warning).
  • Switch to Jotunn for localization handling, instead of standalone LocalizationManager.

Fixed

  • Fix public player positions not always updating / displaying when more than 2 players are connected at once.
  • Fix pins toggles positioning so they are always properly ordered without gaps.

0.3.0 - 2024-04-12

Added

  • Support for NoMap world modifier: interacting with a cartography table will display the map.
  • Enforce mod to be installed on all clients if installed on the server (Jotunn version check).

Changed

  • Updated for Valheim 0.217.46.

Fixed

  • Fix NullReferenceException errors if shift-clicking a pin on the map without interacting with a cartography table.

0.2.0 - 2024-02-25

Added

  • Add limited one-way compatibility for public pins sharing from modded clients to vanilla non-modded clients.

Fixed

  • Fix shared pins disappearing if a cartography table is in use while a save occurs.
  • Fix NullReferenceException errors if hovering a cartography table while the game is shutting down.

0.1.1 - 2024-02-18

Fixed

  • Restrict map interactions to sharable pin types.
  • Remove debug logging.
  • Fix pin type filter toggling flooding logs with NullReferenceException errors.

0.1.0 - 2024-02-12

Added

  • Initial release.