Mod Details

Easy Ammo Names

Easy Ammo Names 1.0.9

Created by  McDewgle

9.3K Downloads

SPT 3.9.8 Compatible

A simple mod that renames ammunition in SPT so that it's easier to identiy.

Latest Version 1.0.9
SPT 3.9.8

Updated Oct 3, 2024 at 8:01 AM

Version Notes

Updated mod for SPT 3.9.8 and added new item IDs for 0.14.9 content which includes new ammo boxes and ammunition.

This download is externally hosted.
Always scan for viruses.
What it do?

Easy Ammo Names

is a simple quality of life mod that makes ammunition easier to identify in your inventory and as loose loot on the ground.

(see the tabs above for more info)

How To Install

vKRw58b.gif

How To Config

Don’t like the new names for 5.56? Don’t like the easter eggs for canned beef and energy drinks?

You can change the names to whatever you like or even rename MORE items in SPT.

The config file is located in user\mods\EasyAmmoNames\config

To add even more custom-named items, just retrieve the item ID number from the online Item Finder and create new entries beneath the ones already present within the config file.

Known Issues

None that I’m aware of at this time. But if you see anything that stands out to you, please let me know in the comments and I’ll work on it as soon as I can!

Acknowledgements

Thank you MattDokn for creating the core of this mod for me to use and thank you DirtBikerCJ for the tip about locales editing

Version 1.0.9
Download Mod Version
SPT 3.9.8
Latest Compatible SPT Version

2.1K Downloads

Created Oct 3, 2024 at 8:01 AM

Updated Oct 3, 2024 at 8:01 AM

Virus Total Results

Updated mod for SPT 3.9.8 and added new item IDs for 0.14.9 content which includes new ammo boxes and ammunition.

Version 1.0.8
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

3.0K Downloads

Created Apr 22, 2024 at 8:42 PM

Updated Apr 22, 2024 at 8:42 PM

Virus Total Results

Added support for different localizations (Change “locale” setting in config)

- Mattdokn

Version 1.0.7
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

347 Downloads

Created Apr 21, 2024 at 5:51 PM

Updated Apr 21, 2024 at 5:51 PM

Virus Total Results

Added 6.8mm spear ammunition, various changes and minor fixes, reverted beef cans to vanilla.

Version 1.0.6
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

1.7K Downloads

Created Apr 6, 2024 at 4:56 PM

Updated Apr 6, 2024 at 4:56 PM

Virus Total Results

Fixed download link

Version 1.0.5
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

122 Downloads

Created Apr 6, 2024 at 4:02 PM

Updated Apr 6, 2024 at 4:02 PM

Virus Total Results

Update to package.json

I might be a brainlet

Version 1.0.4
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

149 Downloads

Created Apr 6, 2024 at 2:59 PM

Updated Apr 6, 2024 at 2:59 PM

Virus Total Results

Fixed typo with “TT P” ammo, shoutout to UselessAqua for catching it

Paco

I was having issues with this on 3.11. Edited mod.ts (\user\mods\EasyAmmoNames\src\mod.ts) to use FileSystemSync rather than VFS and it’s working just fine now.

1 Like

Could you share your version?

0 Likes

like this ?

import { FileSystemSync } from “@spt/utils/FileSystemSync “;

import path from “path”;

class EasyAmmoNames implements IPostDBLoadMod {

private modConfig;

private debug = true;

postDBLoad(container: DependencyContainer): void {

const FileSystemSync = container.resolve<FileSystemSync >(“FileSystemSync “);

0 Likes

Sorry for the late reply, here’s the full edited file

import { DependencyContainer } from “tsyringe”; import { IPostDBLoadMod } from “@spt/models/external/IPostDBLoadMod”; import { ILogger } from “@spt/models/spt/utils/ILogger”; import { DatabaseServer } from “@spt/servers/DatabaseServer”; import { LocaleService } from “@spt/services/LocaleService”; import { ItemType } from “@spt/models/eft/common/tables/ITemplateItem”; import { FileSystemSync } from “@spt/utils/FileSystemSync”; import path from “path”; class EasyAmmoNames implements IPostDBLoadMod { private modConfig; private debug = true; postDBLoad(container: DependencyContainer): void { const fileSystem = container.resolve<FileSystemSync>(“FileSystemSync”); const logger = container.resolve<ILogger>(“WinstonLogger”); const databaseServer = container.resolve<DatabaseServer>(“DatabaseServer”); const localeService = container.resolve<LocaleService>(“LocaleService”); const itemDatabase = databaseServer.getTables().templates.items; const handbookDatabase = databaseServer.getTables().templates.handbook; const localeDatabase = localeService.getLocaleDb(); this.modConfig = JSON.parse(fileSystem.read(path.resolve(__dirname, “../config/config.json”))); for (const itemTpl in this.modConfig[“items”]) { const itemInfo = this.modConfig[“items”][itemTpl]; if (itemTpl in itemDatabase) { const itemName = itemTpl + “ Name“; const itemShortName = itemTpl + “ ShortName“; const itemDescription = itemTpl + “ Description“; if (itemInfo[“Name”] != “” && itemName in localeDatabase) { localeDatabase[itemName] = itemInfo[“Name”]; } if (itemInfo[“ShortName”] != “” && itemShortName in localeDatabase) { if (itemInfo[“ShortName”].length > 9) { logger.error(“Provided shortname was too long! Shortnames have a maximum of 9 characters.”); logger.error(Trimming ${itemInfo\["ShortName"\]} to ${itemInfo\["ShortName"\].substring(0, 9)}); itemInfo[“ShortName”] = itemInfo[“ShortName”].substring(0, 9); } localeDatabase[itemShortName] = itemInfo[“ShortName”]; } if (itemInfo[“Description”] != “” && itemDescription in localeDatabase) { localeDatabase[itemDescription] = itemInfo[“Description”]; } } } if (!this.debug) return; for (const itemId in itemDatabase) { const item = itemDatabase[itemId]; if (item._type != ItemType.ITEM) continue; if (item._parent == “5485a8684bdc2da71d8b4567” || item._parent == “543be5cb4bdc2deb348b4568”) { const handbookItem = handbookDatabase.Items.find((i) => i.Id === item._id); if (handbookItem == undefined) { continue; } if (!(item._id in this.modConfig[“items”]) && item._name.toLowerCase().indexOf(“shrapnel”) == -1 && item._name.toLowerCase().indexOf(“patron_rsp”) == -1 && item._name.toLowerCase().indexOf(“patron_26x75”) == -1) { if (“ammoType” in item._props) { if (item._props.ammoType != “bullet” && item._props.ammoType != “grenade”) continue; } logger.info(Item ${item.\_name} was not in list. tpl: ${item.\_id}); const itemName = item._id + “ Name“; const itemShortName = item._id + “ ShortName“; this.modConfig[“items”][item._id] = { “Name”: FIXME ${localeDatabase\[itemName\]}, “ShortName”: localeDatabase[itemShortName], “Description”: “” }; } } } fileSystem.write(path.resolve(__dirname, “../config/config.json”), JSON.stringify(this.modConfig, null, 4)); } } module.exports = { mod: new EasyAmmoNames() };

1 Like

All I’m getting is the following: The application had a critical error and failed to run Exception produced: SyntaxError

Stacktrace: D:\SPT\user\mods\EasyAmmoNames\src\mod.js:9 C: /snapshot/project / obj / models / external / module_1.IPostDBLoadMod;

SyntaxError: Invalid regular expression flags at wrapSafe (node:internal/modules/cjs/loader:1519:18) at Module. (node:internal/modules/cjs/loader:1541:20) at Module._compile (pkg/prelude/bootstrap.js:1898:32) at Object..js (node:internal/modules/cjs/loader:1712:10) at Function._load (node:internal/modules/cjs/loader:1322:32) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:219:24) at Module. (node:internal/modules/cjs/loader:1344:12) at Module.require (pkg/prelude/bootstrap.js:1855:31)

0 Likes
Okumura

A cursory check shows this working with 3.10 as long as you change the package version. The game loads and the ammo is given the shortened, sensible names that I wanted. I didnt check in raid and I cannot confirm if it works 100% of the time without issues. If you choose to use this dont bother McDewgle if any issues arise from it

3 Likes
Trakatz

Wehn i download it only gives me an user/mods file. And the names dont change.
Nice idea and mod though

0 Likes
McDewgle

Yes. That is normal. Just drag and drop the user folder into your SPT directory as shown in the How To Install section of this mod page.

Same installation process as most of the mods on this website.

0 Likes
Trakatz

But this would delete all other mods wont it?

0 Likes
McDewgle

No. That’s not how it works. FOLDERS do not overwrite each other, only FILES do. When you drag and drop the USER folder into your SPT directory, Windows will MERGE both USER folders together along with all of their contents.

If you do it right, you should see EASY AMMO NAMES in your user\mods folder.

0 Likes
Trakatz

Hm, I did it the same as in the video, but it the ammo names wont change.
Does the mod conflict with some other mods? Like ammo stats in desc.?

0 Likes
McDewgle

You need to close the game & server before installing mods.

0 Likes
Trakatz

I know and ive done that

0 Likes
McDewgle

If you need assistance installing mods, please join the SPT Discord. It’s next to impossible to help someone troubleshoot an issue in a comment chain.

0 Likes
sixiangyu

only use the mod for en?

0 Likes
Therkelsen

Skill issue fixer?

0 Likes

In a way, yes! But this mod also renames a lot of ammunition in the game to their real world counterparts that BSG was “inspired” by but spoofed the name to avoid copyright issues.

Also included are new descriptions for some of the ammunition

0 Likes

Ah then it makes sense!

0 Likes
TangoMike13

Thank you. McDewgle! Great mod, enjoyed it so much on 3.8x. Looking forward to 3.9x version, when it becomes available!

0 Likes
Varyable

Absolute insanity! Haha wow.. again, how come so many quality of life mods are just hidden throughout the rest guess cause you guys are always testing out ideas etc.. LOVE THIS it’s crazy how much time this saves. THANK YOU

1 Like
Darezi

Could it have any conflicts with the AMMO STATS IN DESCRIPTION mod?

0 Likes
McDewgle

Not that I’m aware of, have you tried?

0 Likes
Darezi

I tried and there are no issues so far. Everything is showing for both mods as it should!

3 Likes
SmoothMcD

Just noticed we’re missing 9x39 FMJ (6576f96220d53a5b8f3e395e)

and 9x21 7U4 (6576f93989f0062e741ba952)

I can save you/anyone else some trouble:

“6576f96220d53a5b8f3e395e”: { “Name”: “9x39mm FMJ”, “ShortName”: “9x39 FMJ”, “Description”: “” }, “6576f93989f0062e741ba952”: { “Name”: “9x21mm 7U4”, “ShortName”: “9x21 7U4”, “Description”: “” },

0 Likes

Thank you for finding this! While adding this fix I also noticed some ammo boxes missing for 7.62x54mm. I’ll add it to the next update

1 Like
StarVox

Oh my gosh, thank you for this!

2 Likes

Details