Better Cartography Table
Allows precise control over sharing pins via cartography tables. Supports private pins, public pins, and guild pins.
Date uploaded | 9 months ago |
Version | 0.2.0 |
Download link | nbusseneau-Better_Cartography_Table-0.2.0.zip |
Downloads | 1181 |
Dependency string | nbusseneau-Better_Cartography_Table-0.2.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202ValheimModding-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.3README
Better™️ Cartography Table
Valheim mod that allows precise control over sharing pins via cartography tables. Supports private pins, public pins, and guild pins.
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.
Real-time collaboration
Astrid and Brynhild are planning their next expedition. Thanks to Better™️ Cartography Table, they can collaborate in real time on the cartography table.
Guild pins
Thanks to Better™️ Cartography Table, guilds can privately share pins amongst members. Brynhild is a member of The Ground Shakers guild, and Astrid does not have access to their cartography table. Astrid creates The Mushroom Enjoyers guild so that she can share a Super Secret Hideout with other mushroom enjoyers, which Brynhild will never know about.
Features
- Pins are private by default, and can be individually shared on a public cartography table.
- 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 are interacting with the same cartography table, changes are reflected in real time for all of them.
- 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...
But why?
The vanilla cartography table is quirky and often leads to frustration on multiplayer servers: it only stores the pins of the last player that wrote to the table, completely replacing what was previously recorded.
This often results in situations where shared pins seem to disappear / reappear constantly when multiple players interact with the table on a regular basis (and it also never updates cross off status...).
On top of that, since the cartography table is "all or nothing" both ways, some players might refrain from interacting with the table (e.g. when someone is meticulously pinning all berries / copper veins / etc., or when they do not want to share some super secret pins they would prefer to keep private).
Vanilla cartography tables, but Better™️
The goal is to stick close to the vanilla experience and keep cartography tables relevant. We are not bypassing cartography tables: sharing map data (both pins and exploration) still requires players to interact with the same cartography table on a regular basis to synchronize progress.
How it works:
- When interacting with a cartography table:
- Synchronize map exploration (same as vanilla).
- Retrieve table pins currently stored on the table.
- Open the map:
- Private pins can be interacted with, and can additionally be stored on the table, becoming table pins (either public or guild pins, depending on the table mode).
- Table pins can be interacted with, and can additionally be unstored from the table, becoming private pins. If multiple players are currently interacting with the same cartography table, changes to table pins are reflected in real time for all of them.
- When opening the map without interacting with a cartography table:
- Private pins can be interacted with.
- Public or guild pins previously retrieved from a cartography table can be displayed / hidden, but cannot be interacted with.
Table pins are stored in a custom ZDO key under the cartography table's ZNetView's ZDO, thus there is no conflict between non-modded vanilla clients and modded clients. Limited one-way compatibility is even provided, as modded clients will also write public pins to the vanilla shared data, allowing non-modded vanilla clients to receive public pins seamlessly. However non-modded vanilla clients will not be able to contribute anything: modded clients can only receive pins from other modded clients.
Install
This is a client-side mod, it does not need to be installed on the server.
It is not strictly required for all clients on the server to install the mod, however non-modded vanilla clients will not be able to share any of their pins with modded clients, so of course it's better if all clients install it 😅
Thunderstore (recommended)
- [Prerequisite] Install r2modman.
- Click Install with Mod Manager from the mod page.
- [Optional] Install Guilds for guild support.
Manually (not recommended)
- [Prerequisite] Install BepInExPack Valheim.
- Create a new directory
nbusseneau-Better_Cartography_Table
in yourBepInEx/plugins/
directory. - Download nbusseneau-Better_Cartography_Table-0.2.0.zip.
- Extract the archive.
- Move all files to your
BepInEx/plugins/nbusseneau-Better_Cartography_Table
directory. It should look like this:BepInEx/ └── plugins/ └── nbusseneau-Better_Cartography_Table ├── BetterCartographyTable.dll ├── CHANGELOG.md ├── icon.png ├── manifest.json └── README.md
- [Optional] Install Guilds for guild support.
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.6.0 - 2024-10-31
Changed
- Support for 0.219.13 (The Bog Witch).
- Update Jotunn to 2.21.2.
0.5.12 - 2024-07-19
Fixed
- Fix public and guild pins being loaded from player save file multiple times due to respawns (for real this time 🤞).
0.5.11 - 2024-07-19
Fixed
- Fix public and guild pins not being loaded from player save (duh).
0.5.10 - 2024-07-19
Changed
- Local instances of a table pin are now removed when syncing with a table (e.g. a known boss pin was shared to the table).
Fixed
- Fix guild tables not being accessible on after logging out / logging back in.
- Fix public and guild pins being loaded from player save file multiple times due to respawns.
- Fix incompatibility with Server devcommands's
NoMap
modifier override. - Fix removal warning popup displaying when trying to repair a table.
- Fix table map being stuck open if another player destroys the table while it is open.
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.