You are viewing a potentially older version of this package. View all versions.
WxAaRoNxW-PinAssistant-1.7.0 icon

PinAssistant

An assistant for pinning objects easily or automatically, changing colors of your pins, searching pins, and replacing pins

Date uploaded 5 months ago
Version 1.7.0
Download link WxAaRoNxW-PinAssistant-1.7.0.zip
Downloads 784
Dependency string WxAaRoNxW-PinAssistant-1.7.0

This mod requires the following mods to function

Tekla-JsonDotNet-13.0.1 icon
Tekla-JsonDotNet

Redistribution of Json.Net from Newtonsoft under MIT license.

Preferred version: 13.0.1
denikson-BepInExPack_Valheim-5.4.2200 icon
denikson-BepInExPack_Valheim

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

Preferred version: 5.4.2200
ValheimModding-Jotunn-2.14.3 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.14.3

README

If you like Pin Assistant, feel free to support me!

Here's my Ko-fi page! and you can PayPal.me as well!

I figured I could add a donation page here, but remember, you are not obligated to donate. I don't know much about foreign wallets, I only know PayPal and ko-fi, let me know if you have other suggestions!

Preview

Preview alt

Preview gif

Mod Introduction

Tired of having to manually pin objects and would rather just want to solve it with a click of a button? Maybe you'd rather automaticaly pin the objects you look at. You found an object of interest and you plan to retrieve it later, but got lazy pinning them and lost them? Need a Dandelion or Thistle for your brews but became unfindable cause you're now searching for it? Perhaps you forgot where you mined that chunk of copper and you can't find it anymore cause it blends in with the environment.

Pin Assistant is the game-changing mod you've been waiting for. It's the ultimate solution for all adventurers, explorers, crafters, gatherers, and farmers who want to stay organized without the hassle of manual object pinning.

Ensuring you stay focused on what matters most to you. Whether it's rare herbs for your magical brews or valuable resources for crafting, your Pin Assistant will do the tracking for you.

User Friendly Design

Tailored for both casual and technical players who wants to modify their pins to exactly do what you want. Not sure what to do? just look at an object press Ctrl + T and it will automatically fill the values for you, then click Track.

Customizable Pinning

Use your Pin Assistant for your specific needs. Customize the entry to how you want the pin to appear, a boss icon? a fire? is the pin crossed off? or maybe even its colors! To easily determine which is which so you won't have a hard time figuring out what pin are you exactly looking at.

Customizable Behavior

Customize your entries to choose what it wants. Only search a specific object, pin multiple objects on just one entry, delete on pins associated with entry on log out, and many more! Many configuration combinations for you to think about!

Lightweight Plugin

Efficient auto pin and tracking system Even though you might think that this is a pretty heavy system with the complex logic it has. It wouldn't, except for Valheim's pin system, that's not on me anymore. Although, the color system's performance is based on how many colored pins you have, but it's really negligible (I did my best to optimize it a lot). If you worry about performance you can increase the tick rate in the settings, but its performance impact is also negligible.

Technical stuff: Most of the system uses dictionaries especially the tracked entry system which uses TrieNode Dictionary, which means it won't harm the performance when the mod has an object that needs to be ran through the list of entries to check, (imagine those auto complete systems in searching on your computer)

Features

GUI

A Valheim style UI for you to easily manage your tracked objects

GUI alt

GUI

Auto Pinning

Too lazy to create pins by yourself? No problem! Just create an entry for an object and this mod will do everything for you.

Manual Mode/Quick Pin

Don't like the auto pin feature? That's ok! You can disable it and use the 'Pin Object' keybind. Although, be sure to track the object first before you can use the pin key!

ID Filter

You can also set the entry to only find objects that are named exactly to what you've set, this means you'll be able to choose which specific type of object variation you want to be pinned, Crypt1? Crypt2? or if you want all the variations, just set the ID to Crypt.

Blacklisting

However this means Sunken Crypts would also be included in the detection, that's where the Blacklist feature is needed. Add 'sunken' to the entry with crypt ID, and this would only allow non-Sunken Crypts to be pinned on that entry.

Blacklisting Sunken Crypts from Tracked Crypt Entry alt

Blacklisting Sunken Crypts from Tracked Crypt Entry

Redundancy Feature

If you think your pin might clutter cause the objects are grouped together, you can change the redundancy setting to avoid pinning similar objects at a certain distance based on the pinned object.

Redundancy Distance Showcase alt

Redundancy Distance Showcase

Colored Pins

Hard to read the many pins you see? With this mod's tracking system you can change the pins you have into different colors! Due to limitations the pins colors are based on their Pin Names

Tracking/Coloring Dandelions alt

Tracking/Coloring Dandelions

Searchable Pins

Overcrowded map? Want to find specific pin/s? Just head over to your map and look to the top left and search away, use double quotes to search for a pin name with your exact search. You can also set it to whitelist mode or not to hide everything except your search or show everything except your search. RegEx is also a feature if you want a more versatile way to search pins!. Search window is too obstructive? Just press 'Tab' to hide it! Don't want it at all? Just go to your config manager and disable "Show search window on startup"!

Search Window alt

Search Window

Bulk Pins Modification

Did you discover that there's actually more than one berry bush, and that all of your berry pins are too ambiguous? Fret not as you can do it over at the Search Window or at an existing Tracked Object entry. You also want to change the icon? You can do that too!

Tracked Object Modify Existing Pins alt Search Window Modify Pins alt

Tracked Object Modify Existing Pins Search Window Modify Pins

Shareable Entries!

If you have Configuration Manager Installed you can open up the menu, copy the very last field in this mod's section and send that entire text to your friend and press the reload key. Both you and your friend has the same entries you have!. Although, it won't copy the pins you've already made.

Mod Compatibilities

This is a pretty non-invasive mod so any pin related mods shouldn't break the game, but there might be some conflicts depending on how the mod behaves do report it to make the mod even more non-invasive.

Mods where I made mine compatible:

Tutorial

How to use

Let's say you want to track Copper deposits,

  • press the GUI key, (default: Ctrl + T) while looking to prefill the proper values,

  • Copper deposits' ID is called MineRock_Copper(Clone),

  • you can just leave it as is and press Track or if you want to track all mineable objects,

  • set the ID to MineRock to track Tin, Meteorite, Iron, Obsidian, and Stone, but you don't want to include stone, no problem!

  • go to the Blacklist field and type 'stone', with this, objects that has the name MineRock will be pinned but if it has Stone in their name, it will be excluded.

  • if you want the naming conventions for all those objects to not be the same name, then you have to have a different entry for each of them, but if you're too lazy, just wait for the object you want to appear, press the GUI Key while looking at it and press track or enter!

If you want to look for a pin in your map

  • just head over to the map.
  • check the top left
  • type the pin's name (you can enclose it with double quotes, "pin name", to search for pins with the exact entry.
  • and then search!

Installation (manual)

Same as any other mods I assume, extract contents to Bepinex's Plugins folder More detail:

  • PinAssistant
    • Download by clicking Manual
    • contents are plugins folder, and some other files.
    • place it all in BepInEx's plugins folder in a new folder which you can name by yourself like "Pin Assistant"
    • done
  • Json.Net
    • Download by clicking Manual
    • content is a single folder named "plugins" just merge it with your BepInEx's folder.
    • done
  • Jotunn
    • Download by clicking Manual
    • content is a folder named "Jotunn", just place it inside your BepInEx's plugins folder.
    • done
  • Config Manager
    • Download by clicking Manual
    • content is a single dll file called ConfigurationManager, just place it inside your BepInEx's plugin folder or create a new folder in "plugins" folder, named like "ConfigManager" and place it there. (BepInEx > plugins > [newFolder] > ConfigurationManager.dll
    • done

Dev Introduction

My first ever game mod that involves coding, I made this mod as an automatic pinning feature like Locator, but after at the release, I thought, "hey this plugin doesn't seem like Auto Pin is the only main feature. Because you can also use the Tracked Object as an object configuration to pin objects easily by pressing a keybind without having to change the icon and naming it and such, so I named it from Auto Pin to Pin Assistant just before release.

I've learned quite a lot with modding valheim and got a lot of experience from using certain libraries and such. A very fruitful journey to program this mod, I hope you enjoy! I started working on this around September 2 midnight, so this mod took around 2 and a half weeks with some days taking a break cause I got lazy trying to understand new apis to make my mod work cough gui sucks cough.

I made this mod due to auto pin mods like HotPin or Locator having troubles with their plugin, Locator had a problem with their console commands and HotPin just won't let you open the console. I found Locator from Purps to be pretty good, but it wasn't that user friendly with tracking custom objects, it lacked a few features but was really decent, so I thought about my own ideas.

If not for the many source codes out there like Locator, Pinnacle, PressurePlate and other plugins, I would have had a hard time making this as it referenced a lot of valheim codes from them Locator mostly, but the logics like dictionary is mostly from Google :v

Also, thank you to the mod developers who helped me setup to start on this project or gave me info with things i had trouble with.

Technical

Have a suggestion?

You can contact me on Discord, 'WxAaRoNxW', make a post on Nexus or add a 'New Issue' on Github.

Known issues

Check these pages:

  • Nexus
  • Github If you have a problem you can post an issue on one of these pages.

CHANGELOG

Changelog

v1.7.0 More Quality of Life Update
  • New

    • Added configuration for Redundancy distance for any pins. More info on config tip
    • Tracked Objects now automatically sorts by Pin name! (Don't ask me why I never implemented it, even I don't know)
    • Thumbnail change for the mod. (I finally had the motivation to design one)
  • Changes

    • Similar pin Redundancy distance logic are now case insensitive. Used to be, comparing for nearby similar pins' based on names, is case sensitive.
    • Changed old versions' changelog's backend entry to its own backend entry.
  • Fixes

    • Some warning logs are being logged as errors. (fixed "Minimap not found" error log, hooray)
    • Visual bug for tracked objects. Reloading Tracked Objects no longer show a blank dropdown selection.
  • Backend
    • PluginComponent
      • Changed from Component
    • TrackingAssistant
      • changed OnTrackedObjectSave to have LooseDicitonary parameter
    • TrackObjectUI
      • Tracked Object Dropdown/List now resets on every Add, Modify, or Remove actions, it's negligibly slower, but it greatly avoids logical errors by having a separate add modify remove logic in the UI.
    • TrackedObject
      • Added IComparable interface
    • LooseDictionary
      • Added IComparable interface
      • Added sort function, sorts dictionary based on TValue
    • Project
      • Used RegexOptions / StringComparison Ignore case, instead of making both strings into ToLower(), (never knew this existed, discovered out of curiosity if comparison methods had overloads, which it had)
v1.6.0 Bulk Modify Pins + QoL Update
  • New

    • ZOOOM
      • Normal zoom in minimap is not enough? now you can ZOOM MORE! Configurable in config manager. (applies to both small and large map)
    • Icon searching
      • You can now narrow down your searches more by setting an icon type instead of just names (you can pick all icons still).
    • Bulk pin modification (Took way too long to rewrite code to work with this .-.)
      • Ability to modify existing pins' name and icon when modifying Tracked Object entries.
      • Ability to modify existing pins' name and icon through the search window.
      • This will match Pin's Name and Icon and modify it to the currently modified entry.
  • Changes

    • Pins are now colored based on their names and icons, instead of just names.
    • Searching is no longer case sensitive (since the pins' characters' cases can't be determined due to the font style).
    • Updated Showcase previews to match the new version, also made it viewable instead of clicking the link.
  • Fixes

    • If you have a mod that can change a pin's position you'll be able to overlap a new pin if the positions are absolutely the same to the prior position.
    • When a filter is active, newly created pins (from double clicking in the map) will be invisible.
    • Changing an entry's Object ID will stop detecting objects with the currently editted matching id (oversight).
    • Blacklist Word not working properly all the time (happens when the blacklist word is before the id).
      • ex. SunkenCrypt4(Clone) | entry: objectID > Crypt, blacklist > Sunken
      • Looking at a structure named SunkenCrypt4(Clone) will still get detected because the 'Sunken' word is before the 'Crypt' word.
  • Backend
    • MinimapAssistant
      • Added PinName + Icon key storage to distinguish between different combinations.
      • Refactored to be more streamlined and to work with new version. Used TryGetValue and reusing other methods.
      • Moved edittting pin variables to MinimapPatches (so both MinimapAssistant and TrackingAssistant can make use of it)
      • Optimized filtering through pins greatly compared to before. I had no idea IEnumerable acted the way it is (deferred execution). Made it .ToList() and then updates the filter whenever a pin is modified or added.
      • Added compatibility for pin type searching instead of just names.
      • Renamed methods to better match the new code.
    • TrackObjectUI
      • Moved PopulateIcons, FormatSpriteName and m_dictionaryPinType(m_dictionaryPinIcons)variable to MinimapAssistant and added string name to dictionary as well. FilterPinsUI now uses this dictionary as well for overhauled UI.
    • MinimapPatches
      • Added isManualPin token to determine if the newly added pin is made by a player (to avoid it from being filtered out immediately while editting it)
    • Plugin
      • Slightly cleaned up code.
    • LooseDictionary
      • In ChangeKey() instead of using dictionary changekey extension, remove the original node and add the new cloned node instead (dictionary still contains the old node instead of being new if Changekey was used)
      • Added original key parameter to TraverseDetails and TryGetValueLooseLite to fix the new search method with node's blacklistword
v1.5.2 Mod Compatibility fixes + Search fixes
  • New

    • You can press enter when the search window field is selected to immediately submit (find) now.
    • Updated description / README.md
      • Compatibility section
      • Slightly fixed up known issues page.
  • Fixes

    • Search Window
      • Typing in the search field, M (or the minimap key) closes the minimap
      • Toggling start up config when the mod is disabled won't reflect the changes.
      • The search window will always be opened or closed whenever you open the minimap depending on the "Show Search Window on startup" toggle.
    • Pinnacle
      • Pins not being colored permanently until relog when editting pin name and not clicking out (to deselect pin) after an edit or pressing enter, and then followed by editing the name once more.
    • Under the Radar
      • Pins not being filtered out permanently until mod re-enable, when pinning an object using PinAssistant that is temporarily pinned by Under The Radar and then unloading it by going away from it.
  • Backend
    • TrackingAssistant
      • Added a check on RemovePin to double check if the removed pin is actually in the dictionary.
    • MinimapAssistant
      • Updates old_PinName whenever OnPinUpdate gets called. (for when user changed the pin name once more. Doesn't apply to Vanilla)
    • OtherModPatches
      • Slightly refactored PinnaclePatches events to use MinimapPatches event
    • GUIExtension
      • Moved to GUIManagerExtensions
v1.5.1
  • New

    • Compatibility for Under The Radar
      • You can now add pins where temporary pins made by Under The Radar are located.
  • Changes

    • Tracked objects searching
      • Changes id searching behaviour where if you loosely (not exact id match) search for an id, you can find something even though it may not make sense.
        • ex. entry = copper | search key = c_o_p_p_e_r | you'll still find copper.
        • ex. entry = copper, entry = runestone | search key = c_runestone_opper | you'll still find copper instead of runestone
        • this is to avoid similar ids to be detected, especially mushrooms magecap, jotun puffs, etc. can be found through Pickable_Mushroom(Clone), cause their difference is having a text between Mushroom and (Clone).
      • Refactored searching in the backend for a slightly more optimized way. Found out it's doing some meaningless searches.
      • Disabled being able to search crypts' (sunken and forest) interior structure with Crypts in their name (mudpile, torches, are not included, only walls, chests, loot, even doors are disabled.).
        • This is to avoid pinning unintended objects whenever having an entry for Crypt to only track the entrance location.
    • Capitalized previously lowercased Pin names' words when mod pre-fills a looked objects
  • Fixes

    • Tracked objects searching
      • Fixed logical error for changing the object id (would've broke the data, but could be fixed through pressing the reload tracked objects key)
    • v1.4.0 Changelog message typo
      • "Pickable_Mushroom(Clone)" can be found with "Pickable_Mushroom_Magecap(Clone)"
      • should've been:
      • "Pickable_Mushroom_Magecap(Clone)" can be found with "Pickable_Mushroom(Clone)"
  • Backend
    • Plugin
      • Forgot to remove printing of layernames.
    • GUIManagerExtension
      • Moved ApplyToggleStyle from TrackObjectUI to GUIManagerExtension as FilterUI now needs it.
      • refactored some functions to remove unnecessary code and repurposed extension to work with some main methods.
    • LooseDictionary
      • Fixed missing code in method, ChangeKey. alternate dictionary deletes key, but does not add new key.
      • Refactored searching for keys, which avoids nonsense conditional checkings(kept on checking validity of the same node)
      • Created a new try get method to avoid unintended found results. (c_o_p_p_e_r finds copper key)
      • left old try get method alone but might remove it next time.
    • TrackingAssistant
      • OnPinAdd will now exclude special pins as well. I thought it was necessary to include them so pins won't overlap, but most special pins have different locations, so it would overlap regardless.
      • ModifyTrackedObject
        • If ChangeKey failed, will fail entirely. This would cause a bug where TrackedObject ID is changed but dictionary key is not change.
      • Slightly refactored FormatObjectNames method.
v1.5.0 Better Search Update
  • New

    • Search Window Updates
      • RegEx searching of pin names.
      • Whitelist or Blacklist mode if you want to hide everything or show everything but the query you've inputted.
  • Changes

    • Thunderstore did not support underline for some reason while bold, so I had to remove it.
    • Changed CHANGELOG.md Backend header to not be in bold.
    • Removed issue entry in "Known Issue" section about struck boulders being invalid, thought it wasn't necessary.
  • Backend
    • Plugin
      • Forgot to remove printing of layernames.
    • GUIManagerExtension
      • Moved ApplyToggleStyle from TrackObjectUI to GUIManagerExtension as FilterUI now needs it.
      • refactored some functions to remove unnecessary code and repurposed extension to work with some main methods.
v1.4.0 TRACK ALL THE THINGS
  • New

    • Almost everything can now be trackable.
      • (Couldn't do 'all' cause it will mess up detections of other objects.)
      • Do not attempt to track a boulder that has been struck with a pickaxe, it will not identify it correctly. Track an unstruck one instead.
        • Will notify if it's invalid or not.
  • Removed

    • Tracking Type options.
      • Refactored to be extremely less performance impacting compared to the original one (more details in backend).
      • Now almost everything is pinnable.
      • Might have some flaws but I checked and objects of interest should work correctly, did not test on uncommon or unnecessary objects (like a wood pole or something).
  • Fixes

    • Fixed when opening and closing the color wheel while the "Exact ID Match" is toggled on, ObjectID will stay as uninteractable instead of being interactable.
    • Fixed error spam when a raid event ended.
    • Fixed a logical error where even if an id is set to exact match only, it can still be found with an almost similar id.
      • "Pickable_Mushroom_Magecap(Clone)" can be found with "Pickable_Mushroom(Clone)"
  • Backend
    • TrackingAssistant
      • Refactored LookAt to not use GetComponentInParent, but instead get root parent and retrieve name.
        • This will significantly increase performance as it wouldn't continuously call "GetComponentInParent" multiple times for each type, every x second per tick
        • Will show invalid target if it's a boulder struck with a pickaxe.
    • MinimapPatches
      • Refactored patching exclusion of special pins from MinimapAssistant to clean up Transpilers (This way is just so much better, I don't know why I didn't thought of this).
    • CHANGELOG.md
      • everything was bold, fixed that now, (was hard to see in visual studio preview, only noticed after the last update where I showed the changelog on thunderstore).
    • Used CodeMaid to clean up entire project.
    • Updated harmony package of project.
v1.3.1 Hotfix
  • Changes

    • CHANGELOG.md
      • added in package, so that thunderstore can detect and add it and that users don't have to click here at the description to go to the changelog at github.
      • reversed version order so the latest version is always at the top.
  • Fixes

    • Colored shared pins will now fade properly when switching on or off the shared pins.
    • Fixed issues with pings constantly sending an error that it already exists which led to pins freezing as the game thinks the pings aren't being added properly.
      • Overlooked a check which I accidentally removed during clean up of my code as I thought it was unnecessary.
  • Backend
    • TrackingAssistant
      • Removed indent formatting for saving tracked object data.
    • publish.ps1
    • README.md
      • changed a bit of words.
      • added proper installation manual.
      • added tutorial for colored pins.
      • forgot to add colored pins section.
v1.3.0 Colored Pins Update!
  • New

    • Colored Pins!
      • New option over at the Track Object UI right beside the pin icon.
      • You can also change its transparency.
      • Sadly, due to limitations, the pins are colored based on their pin names.
  • Changed

    • Changed UI Panels to actually fit with the Game's UI's dynamic panel colors that changes depending on the environment.
  • Fixes

    • Fixed bug when modifying current tracked object with an existing ID the currently editting object is deleted instead of just sending an error.
  • Backend
    • A lot of backend changes as I've learned to do stuff differently and so it can be update friendly.
    • Added compatibility for Pinnacle's edit feature with colored pins when editting the name.
    • Plugin
      • Created initialization order convention to better manage enabling or disabling and disposing plugin and maybe to have some use for it in the future.
      • In the past I tried to decouple my classes as much as possible but all it led to was somewhat messy coding in Plugin.cs. I figured that I shouldn't just let Plugin.cs be dependent on ModConfig instance so I moved a lot of things away from it to their respective relating classes.
        • Transferred saving system call to Tracking Assistant instead of having to listen to an event by TrackingAssistant from Plugin.
        • Transferred TrackingAssistant initialization parameters from Plugin to just be managed by TrackingAssistant itself.
        • Transferred config change events to their respective classes like, is filter window open on startup, and type tracking enabled change.
    • TrackingAssistant (PinAssistantScript)
      • Changed to TrackingAssistant
      • Changed Serialization and Deserialization handling.
      • Changed the way modify implies, instead of changing the values of the class, completely replace it with a new class to work well with the new colored pin codes.
    • TrackObjectUI
      • Moved modify logic to TrackingAssistant and just read return value to determine what messages to show.
      • Changed the way modify implies (see tracking assistant)
    • TrackedObject
      • Added helper methods to retrieve pin type by int
    • FilterPinsUI
      • Exposed UI Members
      • Moved Filter logic to MinimapAssistant
    • LooseDictionary
      • Refactored Traverse method to not be in TrieNode but in the LD class.
      • Added Change key method to help with the new colored pin feature
    • GUIMangerExtension (TMPGUIManager)
      • used extension (just learned of this) instead of creating an entirely new class with almost the same codes
      • fixed a situation where the extension will keep on initializing everytime you load the main menu.
    • Mod Config
      • Followed initialization convention.
    • MinimapPatches
      • Changed events from delegates to Action
    • Unity
      • Used Assembly Definitions so that I don't have to replace a new version of the assembly everytime the ui variables changes
    • May have missed some other refactorings and missed on potential refactoring as I've done way too much to remember all of them and I didn't document the changes until the last few days >.>
v1.2.2 Valheim v0.217.22 Compatibility Update
  • Changes

    • Slightly changed tracking UI.
  • Fixes

    • Fixed UI bug due to latest Valheim update. (disappeared buttons and an error on main menu load)
    • Fixed a logical error existing since initial release. When modifying an object's ID (modifying a tracked object's ID to an existing ID it will work having 2 entries with identical IDs bugging out of the entry (the latest).
  • Backend
    • Updated dependency to latest Jotunn 2.14.3 and BepInEx 5.4.2200.
v1.2.1
  • Changes

  • Fixes

    • Fixed unable to track, modify or untrack objects randomly occuring. Chances increases when you have too many tracked objects.
  • Backend
    • Similar to Plugin.cs and FilterPinsUI.cs, refactored TrackObjectUI.cs to use OnDisable when mod is turned off or UI is inactive to not process stuff on every frame.
v1.2.0 Search Update
  • New

    • Added the ability to search Pins on the map for situations when your map is too crowded with Pins.
      • Press Tab while the map is open to show/hide the window.
      • Enclose the search keyword with " to search pins with the exact name. ex. "Mushroom".
      • You can also change its visibility on world startup/mod enabled through the config.
      • If you have Pinnacle and want both of them to show/hide together, just disable Show Search Window on startup and toggle off and on Enabled Mod.
  • Backend
    • Plugin.cs
      • refactored to use MonoBehavior OnEnable/Disable (forgot this exists and can be used similarly to my situation).
      • added unsubscription to some missed events on OnDestroy (not really important since plugins don't get destroyed).
    • PinAssistantScripts.cs
      • refactored to not initialize on Instance reference, but instead only create a new instance on Init() (to follow init convention on other classes).
    • MinimapPatches.cs
      • refactored to contain patches in one class only instead of many classes (didn't know you can do it this way.
    • Changed README.md to include new search feature.
v1.1.0 Trackable Types Update
  • New

    • Option to choose what types of objects you'd like to look for to increase performance (albeit negligible).
      • Hover each type in the config manager to figure out which do you want to be detectable.
  • Changes

  • Fixes

    • Fixed build uploads to not contain versions 1.0.0 and 1.0.1 zips. (sorry for the extra file size).
  • Backend
    • Added Dictionary class version for whenever there's changes to how tracked objects are saved in future version.
    • Made UI elements public for modders to change its style (although you can probably do that through just Instance property alone).
    • Updated Jotunn library from 2.12.6 - 2.14.0 (didn't think about updating the template I used).
    • Cleaned up some codes.
v1.0.1
  • Changes
    • Changed the hover description for "Look Tick Rate" into a more detailed explanation, the prior message might confuse people.
    • Changed default Redundancy Distance from 30 to 20 (I found that it might be too big of a distance to check for redundancy).
    • Slightly organized README.md and added a suggestion section.
  • Fixes
    • Fixed sub string searching in TrieNode when a prefix exists in the entry.
      • ex. Runestone ID and Copper ID. And your search is "Rock_Copper(Clone)" it only checked R's descendant but didn't check the rest of the letters so it never reached C of the 'Copper ID'.

v1.0.0 Initial Release