You are viewing a potentially older version of this package. View all versions.
FixItFelix-AutoMapPins-2.2.2 icon

AutoMapPins

Radar like scanner for area around the player, will create pins on map. Highly configurable.

Date uploaded 3 weeks ago
Version 2.2.2
Download link FixItFelix-AutoMapPins-2.2.2.zip
Downloads 4114
Dependency string FixItFelix-AutoMapPins-2.2.2

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

README

AutoMapPin

This mod serves as a kind of "radar" for your Valheim map, automatically creating temporary and persistent pins for various in-game objects.

Features

  • Server Synced
  • Will create pins on Map and Minimap
    • WARNING: do better not configure too many to be active, it will flood your map!
  • Pins will only show in areas where the player did already discover the map
  • Pins created are using custom icons, see Available icons
  • Pins can be configured, see Pin configuration
  • Pins can be temporary (just visible when in area) or permanent (once discovered added permanently to map)
    • Permanent pins needs to be removed manually, so think twice about using this too widely
  • Pins can be configured with color as you like
  • Pin are loaded/created for game objects of Valheim types:
    • Destructible
    • Leviathan
    • Location
    • MineRock (ore)
    • MineRock5 (ore)
    • Pickable
    • TeleportWorld (portals)
    • PickableItem
    • Container (chests)
  • Unknown (missing config) pins will be added to a temporary list that can be printed to a file to simplify configuration.
  • Config file watchers (updated config file will be releaded)
  • Pins are part of an object in the game. If the object is destroyed / removed, the pin is also removed.

Configuration

  • The mod generates a short BepInEx config file FixItFelix.AutoMapPins.cfg
  • Most configuration is provided via YAML files, see data model

Pin configuration

  • A default configuration for vanilla objects is shipped with the mod. The setting of active categories and pins is from my own experience of how I prefer to play (not flood my map). But you can edit and change those as you prefer.
    • Remark: I actually do not play vanilla Valheim much, if there is something missing or someone wants to provide better configs, feel free to reach out. I am happy to also share more or different configs.
  • If you play with objects beyond the vanilla ones, you might need to create your own configuration file, the following sections will explain how to.

Debugging effective configuration

There is a console command 'print_effective_config' to print the effective config of (only active) configs. This can be used to help debugging what actually was loaded.

Config data model

  • all category and pin configuration is provided using YAML files

YAML schema

Some statements to explain the intent of the schema:

  1. The top level is the name of a category that you choose yourself to group configs and share certain settings in between the pins configured inside this category.
  2. Each Category can (optional) have either or both of "individualConfiguredObjects" and "categoryConfiguredObjects", and each category does have the ability to also configure values for the whole category like you can configure for any individual config object entry.
  3. individualConfiguredObjects: does contain a dictionary, the key is the game object "name" field content the value is the set of fields for configuration, see below.
  4. categoryConfiguredObjects: does only contain a list of game object "name" field contents that are NOT configured individually, but all are only configured by any value set at category level.
  5. Many configuration options are inherited from category down to categoryConfiguredObjects (they inherit all settings) and individualConfiguredObjects (they can inherit "name", "iconName" and "iconColorRGBA").
  6. Any value that is not set will either be set with some default value or be inherited if available.

Config options per object:

  1. "name" -> the name shown on map, can be omitted to not show a name
  2. "iconName" -> the name of the icon to use, see available icons in the respective section of this readme
  3. "iconColorRGBA" -> contains the fields "red", "green", "blue", and "alpha"; the values need to be set as int type ( per channel, from 0 to 255, where 255 is full color); alpha sets the intensity of the color (also 0 to 255)
  4. "isPermanent" -> pins with this flag set to true (default false) will not be removed when the player walks away from the area, and they will be persisted in the player save file
  5. "isActive" -> activates the mod to use the config for this pin if set to true (default false)
  6. "groupable" -> activated if set to true (default false) will enable pin grouping that will create one pin (counting the number of occurrences of the same object around it in the name)
  7. "groupingDistance" -> the distance to be used to build groups of pins (default 30.0)
Yaml example
seeds:
  individualConfiguredObjects: # using this option will let you define individual pins, like if you want to name each of them differently, or activate grouping just for some of them
    Pickable_SeedCarrot:
      name: Carrot
      isPermanent: false
      isActive: true
      groupable: true
  isActive: true
  iconName: seed
crypt:
  categoryConfiguredObjects: # using this option will apply same settings for all those pins
    - Crypt2
    - Crypt3
    - Crypt4
    - SunkenCrypt4
  name: Crypt
  isActive: true
  isPermanent: true
  iconName: dungeon
  iconColorRGBA:
    red: 120
    green: 255
    blue: 255
    alpha: 200
Yaml internal name parsing

Rules:

  • removes (Clone)
  • removes (123)

Example: in-game loaded gameObject.name entry like Mistlands_DvergrTownEntrance1 (2) or Mistlands_DvergrTownEntrance1 (Clone) will be parsed to: Mistlands_DvergrTownEntrance1

Create config file

  • You can create multiple additional config files, the mod will load every file matching the pattern inside any sub folder of the .../BepInEx/config/ path.
  • Pattern for new files: FixItFelix.AutoMapPins.categories.*.yaml (replace "*" with your choice of name)
  • There is a mechanic provided by the mod that will record any kind of pin that has a missing config while running through the world.
    • You can output all found config files using the console command amp write_missing_configs_file
    • All configs created by that will have defaults set n_a and booleans set to false, change those according to the data model (see data model)

Available Icons

These custom icons were made available with CCBY license, see attributions section.

Icon name Description Used for
axe Axe 64 pixels
axe48 Axe 48 pixels
berry Berry 64 pixels Pickable bushes like Raspberry
berry48 Berry 48 pixels
dungeon Dungeon 64 pixels Dungeons, Caves, Crypts, ...
dungeon48 Dungeon 48 pixels
flower Flower 64 pixels
flower48 Flower 48 pixels
hand Hand 64 pixels Pickables like Flint, ...
hand48 Hand 48 pixels
mine Mine 64 pixels Minable ores, nodes, veins, ...
mine48 Mine 48 pixels
mushroom Mushroom 64 pixels Mushroom, Yellow mushroom
mushroom48 Mushroom 48 pixels
seed Seed 64 pixels Pickable seeds like carrot, turnip, ...
seed48 Seed 48 pixels
spawner Pentagram 64 pixels Spawners like Greydwarf nests or bone piles
spawner48 Pentagram 48 pixels
rune Rune 64 pixels Runestones
rune48 Rune 48 pixels
dot Circle 64 pixels Anything else
dot48 Circle 48 pixels
herb Herb 64 pixels Herbs like Thistle
herb48 Herb 48 pixels
island Island 64 pixels Leviathan
island48 Island 48 pixels
monument Monument 64 pixels
monument48 Monument 48 pixels
temple Temple 64 pixels
temple48 Temple 48 pixels
treasure Treasure 64 pixels Treasure chests
treasure48 Treasure 48 pixels
bones Bones 64 pixels
bones48 Bones 48 pixels
portal Portal 64 pixels Portal
portal48 Portal 48 pixels
hay Hay 64 pixels
hay48 Hay 48 pixels
village Village 64 pixels
village48 Village 48 pixels

Miscellaneous

License, credits, attributions
Contact

CHANGELOG

  • 2.2.2 -> compiled for Valheim version 0.219.14
  • 2.2.1 -> trying to fix a NRE during game loading up
  • 2.2.0 ->
    • reworked uniqueness logic, since Unity object IDs turned out to not be stable -> now there should not be duplicate pins for the same object anymore
    • deactivated tin per default
    • deactivated portals per default
    • added a comment in the readme that you need to delete permanent pins manually, to make it clear that even a destroyed object will not remove the permanent pin
    • excluded AMP pins from being shared to map table
  • 2.1.5 ->
  • 2.1.4 ->
    • added portals
  • 2.1.2 & .3 ->
    • fixed .yaml file watcher to also respect sub folders
    • added some more missing things
  • 2.1.1 ->
    • added the Flametal ore to ores
    • set runestones to be permanent
    • added some more missing things
  • 2.1.0 ->
    • changed from Unity color system (using float 0.0 to 1.0) to usual RGB values (0 to 255)
    • writing "example" object for individual configs also with an example for icon color
    • added console command "print_effective_config" to print the effective config of an object to console
    • added some color examples to default configs
  • 2.0.1 ->
    • fixed duplication warning using configured name instead of the object name for individual configs
    • added some more missing objects detected
  • 2.0.0 ->
    • Complete rework of the most logic and config parts
    • BEWARE: to use this new version, you will need to create new config files according to the changes, see mod description
    • Changes:
      • Added maximum height to auto map objects to .cfg (but you do not want to change that, believe me)
      • Changed the default grouping distance to 30
    • NEW features:
      • COLORFUL PINS!!!1111... some people requested it, I don't know if those provide really much value, but now you can use colors in configs
      • Update config -> updates pins in game - requested many times via different reports
      • game object discovery mode improved (needs to be activated in .cfg), will print also player messages for new objects, print only once per new object
    • NEW way to configure the mod:
      • new way to configure a whole category (without repeating many values)
      • new way to configure lists of objects, without individual changes per category
      • kind-of old way to configure individual objects in the category
      • now the mod uses Valheim game object 'name' field contents to identify pins, not parsing it too wild anymore, just removing the "(Clone)" and " (123)" suffixes
      • ... too much detail, please read the mod readme :)
  • 1.3.1 ->
    • Updated for Ashlands Valheim version 0.218.15
    • Added new pin configs for Ashlands objects
  • 1.3.0 ->
    • compiled for latest Valheim version 0.217.38
    • fixed some server sync issue
    • often requested feature added : check if the map is already explored at the area of an object before adding the pin => only on explored map it will show pins
  • 1.2.3 -> updated server sync and compiled against 0.217.30
  • 1.2.2 -> updated server sync and compiled against 0.217.24
  • 1.2.1 -> fixed double initiating commands
  • 1.2.0 ->
    • added new config options to not spam your logs (check new default values and change if you need):
      • silent discovery mode -> not spams your logs if prefabs were found that are not configured, yet
      • enable discovery mode -> enables that not yet configured prefabs will be collected during game play
    • improved missing config check to only mention missing configs for not matching category name and internal name in combination, this will also drastically reduce log messages
    • will only print missing configs if there were configs recorded during game play, will show warning if none recorded
    • small change on config synced pin configs
  • 1.1.8 ->
    • added new symbols:
      • Village
  • 1.1.6 & 7 ->
    • compiled for Valheim version 0.217.14
    • fix console boot error
  • 1.1.5 ->
    • fixed groups not being permanent
    • adjusted pickable pinning to only add pin if not "picked"
    • in case an object has a Destructible and Pickable components, we skip patching the Destructible one to only apply a patch on the pickable that will handle state properly
    • changed pickable update from patching "Drop" to "SetPicked"
  • 1.1.4 ->
    • added missing oakstub
    • set portal as active and permanent per default
  • 1.1.3 ->
    • added console command to remove all pins, use that if you created to many duplicate pins before, but it will really remove all pins, no matter what
    • added the birchstub too config I missed somehow before
  • 1.1.2 -> fixed map pin duplication issue
  • 1.1.1 -> added hay icon
  • 1.1.0 ->
    • added patch for new types:
      • TeleportWorld (portal)
      • PickableItem
      • Container (chests)
    • added new icon "portal"
    • updated vanilla configs with new pins
  • 1.0.4 -> replaced tree, dungeon and dot icon with less bold ones
  • 1.0.3 -> fixed missing tree icons
  • 1.0.1 & .2 ->
    • added icons:
      • monument
      • treasure
      • whale
      • temple
      • bones
    • added missing vanilla configs
  • 1.0.0 -> first release on ThunderStore