Mods / Projectile Tracker

Tags: #QoL
Author: MrFastZombie
Side: Both
Created: Mar 22nd 2024 at 6:53 AM
Last modified: Sep 19th at 9:10 PM
Downloads: 5227
Follow Unfollow 180

Recommended download (for Vintage Story 1.21.0 and 1.21.1):
projectiletracker_1.0.6.zip  1-click install


The default waypoint icon, which is a silhouette of an arrow embedded in the ground. "Dude, where's my arrow?" The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

 

Projectile Tracker automatically creates waypoints when your fired projectiles land and deletes them when they are either picked up or despawned. Note that this mod is required serverside when playing multiplayer. (Clients still need to download the mod to use it, it will not automatically download by default).

 

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. How It Works The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

When a projectile is spawned the server will detect when the projectile impacts and it will create the waypoint and send it to the player that fired the projectile. Upon despawn or pickup the waypoint will be removed if the player is online, or saved to a list if not and processed the next time the player comes online.

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. Commands The default waypoint icon, which is a silhouette of an arrow embedded in the ground. 

/ptpurge -- Removes all of your PT waypoints. More specifically, it removes any waypoints that start with "Projectile ". So keep that in mind if you have any other waypoints named like that for some reason. 

/ptclearorphans -- Removes any PT waypoints that no longer have an associated entity, in case any don't get removed automatically.

/ptremovepending -- Can only be called by those with ban permissions. This command removes a player from the pending waypoint update list (which is used to update waypoints for players that were offline) when supplied a playerUID, or clears the list if the input is just "all". You probably won't need to do this but it is provided just in case. Examples: /ptremovepending all, /ptremovepending BxGR+8W4FOoB+arlMpjRxNq+

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. Config The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

"EnableProjectileTracker": true, -- Enables or (soft) disables the mod. When the mod is disabled this way, new waypoints will not be made for the player but old ones will still be removed as normal.
"allowWelcomeMessage": true, -- When joining a server, a welcome message will alert the user of waypoints that have been deleted since their last join. This setting controls if that is displayed.
"icon": "ptarrow", -- The waypoint icon. Accepts any icon name from the Waypoint icon list. By default, uses an icon (The default waypoint icon, which is a silhouette of an arrow embedded in the ground.) included with the mod. If you'd like an icon that is more precise, you can use "x" or "star1" instead. Invalid values will make it default to the circle icon.
"color": "#f9d0dc", -- The HEX code for the color of the waypoint. You should be able to get it from an online color picker. Do not forget the #.
"InjectModdedProjectiles": true-- If true: modded projectiles will be tracked. 
"projectileBlacklist": [] -- An array of item names that will not be tracked. On the serverside, this will disable those projectiles for everyone but on the client side it will prevent waypoints being made for that client. Projectile names that are being tracked are listed in the server-debug log, and you can find them by searching "Injecting entity". Example: ["arrow-crude", "bullet-lead"]

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. A Note for Server Operators The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

By default, this mod is not required on the client. This means that when a user joins your server, the mod will not be automatically downloaded. This is currently the intended behavior but if you wish to enable automatic downloading for convenience, you can change it in your server's install of the mod by opening the mod's zip file and editing modinfo.json so that "requiredOnClient": false, is changed to "requiredOnClient": true, . This will need to be done again whenever the mod is updated.

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. QnA The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

  • Why serverside? By going serverside, Projectile Tracker can update your waypoints if you are not near them or even if you are offline from a server using the mod. Waypoints are also made manually on the server rather than by making the client use the waypoint command, so your chat log doesn't get spammed when you are using projectiles.
  • Where can I report bugs? In order of preference, you can report bugs on the GitHub issues page, or in the comments here. I'll try to keep track of them but I may be slower to notice comments.
  • What happens if someone else picks up my projectiles? When someone picks up your projectiles the waypoints will still be removed for you.
  • Can I edit PT waypoints? As long as you do not change the name of the waypoints PT will be able to access them as normal. You can also remove them manually without any issues.
  • What languages does this support? As of right now, only English. There's not much to translate for this mod, but I do have it prepared for translation and I will accept translations. 
  • Does this work on version x.xx.x? The versions I set on the file downloads are the versions I have confirmed are working with my mod. However, chances are that this mod will work with any subversions of whatever version they were released for, and possibly even with older or newer main versions. I cannot gurantee, but it can be worth checking. You should backup your world before testing.
  • I installed the mod but waypoints don't work? If you downloaded the mod while the game was running (i.e, 1-click install, or using a mod that adds an in-game way to update) then you may need to reboot the game for it to work. If you already restarted your game and it does not work, this may be a bug that you should report (See the second bullet point on this list). 
  • One of my projectiles flew off really far and I don't see a waypoint! This likely means the projectile went outside of your simulation range. What this means is that the projectile is frozen in place until the chunk it is entering is loaded. Walk in the direction it went and it will eventually reach its destination and make a waypoint.

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. Known issues The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

  1. If a projectile leaves your simulation distance, it will not create a waypoint until it is loaded again and lands.
  2. If a projectile in-flight in an unloaded chunk lands after the server or save has been reloaded, it will not create a waypoint.

 

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. Compatibility The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

This mod should not cause issues with most mods. Any mods that have their projectiles use the type "EntityProjectile" or "CombatOverhaul:Projectile" should be tracked. Mods that add their own projectile entities should still work, but my mod will ignore them if they are not accounted for already. If you've found a mod that does not work, let me know and I may try to make it work.

PT has Native Support for: Combat Overhaul (Last tested Sept. 19th, 2025)

Current incompatibilites: Currently none are known. 

Mod Interaction Notes:

  • Auto Config Lib: If my mod has not been active while loading a world yet, it will need to generate a config. Auto Config Lib will not be able to interact with the config if it was created during that world load, but will be able to when the game is loaded again.

The default waypoint icon, which is a silhouette of an arrow embedded in the ground. See Also The default waypoint icon, which is a silhouette of an arrow embedded in the ground.

Mobs Radar by DanaCraluminum
Mobs Radar can show projectiles within your vicinity, but can also track other entities and is clientside whereas Projectile Tracker is required on the server. Projectile Tracker also differs in that it only tracks your own projectiles and keeps the waypoints until the projectiles despawn. If you decide to use both mods together your own projectiles near you will have a radar blip and a waypoint unless you disable projectiles in Mobs Radar's settings.
Dana Tweaks by DanaCraluminum (Glowing projectile option)
 Has a feature that makes projectiles glow so they are easier to spot visually. The feature is disabled by default.
These mods add new projectiles which are compatible with this mod.
A simple Javelin mod that works with my mod. Despite being for 1.20 pre-release I found that this mod still works on 1.20.4 (and 1.21.1). Note that if you use Combat Overhaul: Armory, it adds its own javelins.
Valrossens Waypoint Legend/Filter Continued by valrossenOliver, updated by gdorn
Adds a menu to the map that lets you hide waypoints individually or by icon.

 

Projectile Tracker uses an MIT license.

Mod Version For Game version Downloads Released Changelog Download 1-click mod install*
1.0.6 521 Sep 19th at 9:10 PM projectiletracker_1.0.6.zip 1-click install

-Recompiled with NET 8

1.0.5 707 Aug 26th at 1:50 AM projectiletracker_1.0.5.zip 1-click install

No code changes from the previous release, just metadata. Still seems to work with a small amount of testing.

I am not currently playing the game so I have not tested with my main modlist yet. If any new mod compatability issues arise feel free to report them and I will try to patch them.

 

-Added a modicon

1.0.4
1.20.1 - 1.20.3 1.20.5 - 1.20.7 1.20.8 - 1.20.10 1.20.11 - 1.20.12
879 Jul 16th at 2:29 AM projectiletracker_1.0.4.zip 1-click install
  • Killed the log spam on servers when a user is not using the mod. (c3b77cc)
  • Switched the "RequiredOnServer" and "RequiredOnClient" values in modinfo.json from string to boolean. (fce0fde)

 

Note: I have not tested this on every sub version of 1.20, but I have tested 1.20.1 and 1.20.7. Chances are it is compatible with all these versions.

1.0.3
1.20.0 - 1.20.3 1.20.5 - 1.20.10 1.20.11 - 1.20.12
1855 Jan 22nd at 8:50 PM projectiletracker_1.0.3.zip 1-click install

Critical Bug Fix

  • Certain enemies will no longer become a machine gun. (Or otherwise have their AI broken).

 

EDIT: Still appears to work on 1.20.11. Let me know if any new issues occur.
EDIT2: Also on 1.20.12.

1.0.2 141 Jan 22nd at 5:33 AM projectiletracker_1.0.2.zip 1-click install

IMPORTANT UPDATE: This version has a bug that will make ranged enemies into machine guns. Download 1.0.3 or newer instead.

  • Now compatibile with Combat Overhaul
    • I added a new class that makes it easier to normalize data from modded projectiles.
  • Removed some vanilla DLLs being included with the mod.
  • Fixed a couple instances of the config being loaded without a null check
1.0.1 258 Jan 18th at 2:15 AM projectiletracker_1.0.1.zip 1-click install

Simply a version bump. Everything appears to be working as it did before the update. If you find issues, please report issues on the GitHub repository.

1.0.0 866 Mar 22nd 2024 at 11:04 PM projectiletracker_1.0.0.zip 1-click install

Tested on 1.19.4 & 1.19.5. Probably works on earlier versions but I cannot gurantee.


23 Comments (oldest first | newest first)

💬 MrFastZombie , 2 days ago (modified 2 days ago)

I've thought about it, but I think it'd be a much bigger undertaking that I probably don't want to do myself. Though, I do reckon it could be done. I did see recently that someone made a mod like that for Minecraft. Thanks for checking the mod out!

💬 Agouti, 2 days ago

Love the mod, thank-you. As an side, would a mod that makes arrows stick into (and stay attached to) animals be possible? Perhaps they could be forced into the drops when you loot them (I understand this isn't in the scope of the mod, but if you are feeling inspired ^_^)

💬 NylonCat, Aug 26th at 5:59 PM

Appreciate the quick update, works great in the latest stable release :)

💬 MrFastZombie , Jul 19th at 6:47 PM

probablyafurry2I just marked the latest file as compatible for 1.20.1+. You should've still been able to install the mod manually, but now if you use a mod manager it shouldn't complain. 

 

(Also for anyone wondering, it also probably works on 1.20.0, but I had 1.20.1 in the modinfo.json so the game will complain. If you manually change that to 1.20 it should work).

💬 probablyafurry2, Jul 19th at 2:37 AM

add for 1.20.7 please

💬 MrFastZombie , Jul 15th at 11:27 PM

Glad to hear it's working now!

💬 Willobe, Jul 15th at 8:54 PM

MrFastZombie So the issue was the client did not have it installed - the censored ID was the client ID but all the rest of the text was what the mod was typing. But the issue was fixed, I missed the part that it wasnt a required mod for client by default.

💬 MrFastZombie , Jul 15th at 3:51 AM

Willobe

So far I am not able to reproduce the issue. I tested with the latest versions compatible with 1.20 of Combat Overhaul, Crossbows, and Campaign Cartogropher on a server on 1.20.12. 

So, I do need some more info. 

Does the key you censored look something like "BxGR+8W4FOoB+arlMpjRxNq+"? If so, that could be a player id, which could mean that the server is not getting your config somehow. 

What does your client config look like? Maybe a value is invalid and made it not process your config. 

Are there any other players on your server experiencing the same issue?

Is the mod installed on both the server and your client? Note that by default it will not download the mod automatically when joining the server. Not having the mod on your client would make the serverside unable to find your config.

 

You should check if this issue happens in singleplayer if you haven't already. If it does, then you can use a new singleplayer save for doing the stuff below. If not, you should back up your server's world before continuing. (Also take note of any mods you have disabled in the mods menu. I don't know if VS will enable them again if you re-add them to your mods folder)

Once you are ready to continue, I recommend trying to load with just PT to see if the issue persists. If it doesn't, then that would likely mean another mod is conflicting somehow. 

If it is a mod conflict issue, then you may want to do a binary search to narrow it down. Disable half of the mods, and if the issue is gone you know a mod within the disabled half causes the issue, and then you can go through half of those mods and so on until you find it. 

After that, restore your world backup in case doing this messed with anything.

If you are able to find a mod that's conflicting, I'll be glad to check it out and try to make my mod compatible. 

💬 MrFastZombie , Jul 15th at 2:43 AM

I'll check it out, thanks for reporting.

(Also idk how exactly dotnet/C# works in this regard, but I think it does some weird stuff that bakes in the developer's file structure into the pdb file. Despite it showing my folders in your log I believe that's normal, I've seen it with other mods for other games even).

💬 Willobe, Jul 12th at 5:44 PM

Getting an error on dedicated server (1.20.12 - 1.0.3 mod version) and no way point. For some reason it looks like its trying to look at someone named Skylar's Docs MrFastZombie :) -  tested when shooting flint arrows, crude arrows, crude bolts - have Combat Overhaul and Campaign Cartographer (along with alot of other mods) 

Spoiler

12.7.2925 13:37:99 [Server Error] Exception: The given key [Key Deleted for Post] was not present in the dictionary.

at Systen.Collections.Generic.Dictionary'2.get_ItemCTKey key)

at ProjectileTracker. PtWaypoint. CreateWay point (ICoreServerAPI api, PtEntity p) in C:\Users\Skylar\Documents\91_Personal_Docs\Git\ProjectileTracker\ProjectileTracker\PtWaypoint.cs:line 39

at Vintagestory.API.Common.Entities.Entity.OnGameTick(Single dt) in VintagestoryApi\Connon\Entity\Entity.cs:line 1196

at CombatOverhaul.RangedSystems.ProjectileEntity.OnGameTick(Single dt) in D:\ProjectsVintageStory\Overhaullib\source\Framework\RangedSystems\Projectile.es:line 192

at Vintagestory.Server.ServerSystemEntitySimulation.TickEntities(Single dt) in VintagestoryLib\Server\Systems\World\EntitySimulation.cs:line 258

at Vintagestory.Server.ServerSystemEntitySimulation.OnServerTick(Single dt) in VintagestoryLib\Server\Systems\World\EntitySimulation.cs:line 159

at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 932

 

💬 MrFastZombie , Jun 9th at 1:40 AM

and thank you for checking the mod out!

💬 olYeller, Jun 5th at 3:42 PM

Thank you for marking this up to date, I may not have found it otherwise! Would have really come in handy before I lost my 18 silver arrows..

💬 MrFastZombie , Jun 5th at 5:30 AM

I tested it a little bit and it seems to still work on 1.20.11. Let me know if any new issues occur. 

💬 MrFastZombie , Jan 22nd at 8:50 PM

Anyways thank you for reporting the issue and apologies for the bug. Patch is out now.

💬 MrFastZombie , Jan 22nd at 8:23 PM

I believe I found the issue, I'll be releasing a new patch once I finish testing the changes with combat overhaul as it relates to the compatibility code. I was worried something would break, but turning the enemies into a machine gun was the last bug I expected to happen.

💬 SirDerpface, Jan 22nd at 6:42 PM

Using this mod even with 0 other mods makes Bowthorns shoot absurdly fast, guaranteeing instant death

💬 taucetifive, Jan 20th at 4:37 PM

i don't use autoconfig lib, no. from my theory it looks like this was caused by the "assembly already loaded" issue which can be fixed with a full game restart- i think it happens when i had the previous version enabled at any point and disable it later in favour of another version. i had this with another mod recently, as well. mod is working ^^

💬 MrFastZombie , Jan 18th at 10:45 PM

tauceti2114 Do you happen to use Autoconfig lib? I think it is causing my config to fail to load. I know that doesn't necessarily explain why 1.0.0 works, but both versions appear to work for me but it breaks with that mod. EDIT: If you can share me your logs (client-main.log, client-debug.log, server-main.log, server-debug.log in %appdata%\VintageStoryData\Logs if you are not using VS launcher and are on Windows. Pasting that directory into your explorer's path bar should take you there regardless of where your appdata is.) It might help me figure out what caused this issue. If you do choose to share those, please use something like github gists, pastebin, or just hosting them on a cloud service so the comments don't get filled here.

💬 MrFastZombie , Jan 18th at 10:16 PM

I suppose 1.20.1 broke it in some way, but it is very odd that it only broke 1.0.1 of my mod since it was only a version bump. Thanks for letting me know, I'll try to update it soon.

💬 taucetifive, Jan 18th at 8:54 PM

for some reason 1.0.1 doesn't seem to be working for me (no waypoints or commands, "no such command exists") on 1.20.x but i might keep testing it out. 1.0.0 works just fine

💬 MrFastZombie , Jan 18th at 2:21 AM

For any server players: If you get the welcome message upon joining a server that says you've had some waypoints removed since you were last logged in for projectiles that have likely despawned rather than been picked up, let me know so I know the notification system is working in that case. I still need to figure out a better way to test this feature.

💬 Ghaelen, May 9th 2024 at 2:40 PM

This is a great QoL idea.  Thank you for implementing it.  Also, a mega thank you for such nice documentation, as well.  It's rare to see people spend time documenting their mods, but it's very much appreciated.

💬 Soggylithe, Mar 27th 2024 at 4:09 AM

Great idea, it reminds me of people writing down notes in The Long Dark to go find arrows they lose when trying to hunt.

 (edit comment delete)
Основной веб-сайт | Почтовый сервер | FTP сервер | Административная панель | API интерфейс | Content Delivery Network | Статические файлы | Ресурсы сайта | Изображения | Файловое хранилище | Блог | Интернет-магазин | Техническая поддержка | Справочная система | Документация | Форум | Новости | Загрузки | Демонстрация | Тестовая среда | Приложение | Медиа контент | Разработка | Промежуточная среда | Бета версия | Безопасная зона | Вход в систему | Панель управления | Портал | Система управления контентом