Welcome to Black Liquid Software

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


Category Names

Whatever happened to the Category Names mod? I can't find any mention of it here. MegaMod and 1.7 may have poked holes in it but it was/is a good workaround given the limitations on modding the inventory windows. Is it "on the list" of updates? What's needed to help it along?  

To be sure, nothing but respect, awe, and a huge thank-you for everything you folks have accomplished.    




Share this post

Link to post
Share on other sites

That's an interesting question.

When this was first brought up, I supplied someone (I forget who) with the necessary string tables for him to make the categories himself. I then compiled it all up into a mod, with the caveat that I personally wouldn't be keeping this up to date.

If someone wants to make an updated version, I would be happy to supply them with the old Category Names strings file, and the up to date CC and/or MM files. It's not terribly difficult to actually edit the files (I mainly just use notepad), so anyone with the patience could do it. And then I would compile it all into an updated mod.

Share this post

Link to post
Share on other sites

I do remember reading your caveat back when it was released. Just thought it odd that no mention of the mod exists on the new website.

Anyways, if you would post or PM the old Category Names file and the new CC & MM string tables, that would be great. I'm happy to help out and get this mod updated.


Share this post

Link to post
Share on other sites

The stringtables are actually already available over in the Translations section of the forum:


You can get the set of MegaMod stringtables and CC 1.71. (You can just delete the CC stringtable that comes with MegaMod and replace it with the CC 1.71 version.)


Here is the old set of Category Names StringTables. It has CC and NMT and a bunch of addon mods and stuff. If you combine all of this with the above MM and new CC files into one big folder, then it should work great.



Instructions for those new to StringTables. They have the file extension .rsc, but they are just plain text files. I use Notepad to open them, but any document editor will do.

There are two columns. Do Not Touch the column on the left. It needs to be left exactly as it is. You can change anything in the right hand column between the two ""s. That is the text that is displayed on screen.

1 person likes this

Share this post

Link to post
Share on other sites

Thanks. If I can ask a few questions about process, preference, and efficiency (aka, my laziness)...

Does/will the Inventory Window's Sort-By-Name function handle leading characters such as a space or hyphen? 

  • Basically, does it do a standard ASCII sort? If so, then by prefacing the C, F and T categories (Clothes, Fuel, and Tools) with a hyphen, or preferably a space character, (e.g., " T Iron Tool" or "-T Iron Tool" rather than "T Iron Tool") we'd get a much better sort order IMO. These 3 important categories would be at the top followed by building materials, dry goods, the various foods, health and luxuries. For me, it would add a bit of priority order to the category listings. Still not perfect, but based on how I play, I'd scroll a lot less looking for answers.

A simple question of preference.

  • Would dropping the trailing category hyphen provide a cleaner look? For example, replacing "DG-Reeds" with "DG Reeds" and "DG-Cured Leather" with "DG Cured Leather". I find scrolling though a long list is less distracting without the connecting hyphens. Any opinion or preference?

Local/global. I fear I know the answer but will ask anyway.

  • Are the "String _name"/"String _text" pairs only local to each specific .rsc file --meaning do I have to edit each and every file to categorize the _text value (of each of the seven instances of "Broccoli" for example  ;)) --or-- hoping against hope, are they more global in scope --such that if I create a single .rsc with a single instance of each _name/_text pair and this single file gets handled last (after all the other .rsc files created their _name/_text pairs) then this last file will override the value(s) initialized by the earlier files. This latter approach would certainly be simple, easier to maintain, and less prone to error. Also unlikely maybe?

Note: Thanks to whoever put in such great effort with the existing versions of the category files!!     

Edited by Freedom

Share this post

Link to post
Share on other sites

1) Um.. I don't actually know what the game would do with spaces or hyphens before the name. I've literally never tried it before.

2) Whichever way you prefer is fine. If you're doing all the work, then you get to choose. :)

3) Compiling all the strings into a single file won't work without some major recoding. Each individual items file references a specific StringTable file where it will look to find it's string text. If things get moved to a different file, the item can't find it's string and it will just show up blank. 

Share this post

Link to post
Share on other sites

Didn't think it would be that easy, but had to ask... Working on all the files now.  Will enter preceding hyphens since the existing version uses hyphens already, albeit not at the beginning.  

Share this post

Link to post
Share on other sites


There is an issue updating the Category Names mod related to the vanilla-Banished "String _name / String _text" pairs. Only 8 of 40 vanilla items are referenced in the .rsc files. (Root, Blueberry, Herb Ale, Iron Tool, Steel Tool, Coal, and Iron.)

The mod kit's BanishedKit_1.0.4.141123\resource\Dialog\StringTable.rsc file contains a "StringTable rawMaterial" section with all the needed entries but as neither ColonialStringTable1.7.rsc nor MegaModStringTables0.06\Dialog\StringTable.rsc (nor any other .rsc file) contains a copy of this section, I obviously cannot update them. 

Hopefully this section was left out only because prior to this nothing affected these entries? If so, can this section be included in some .rsc file (ColonialStringTable1.7.rsc or StringTable.rsc perhaps) without major recoding? Or is there an alternate way to accomplish this?

Below is a copy of the "StringTable rawMaterial" section with the "_text" updated for the Category Name mods. Otherwise it is exactly as listed in the mod kit's StringTable.rsc file.


StringTable rawMaterial
    Entry _strings
        {    String _name = "Log";                String _text = "BM Log";    }
        {    String _name = "Stone";                String _text = "BM Stone";    }
        {    String _name = "Iron";                String _text = "BM Iron";    }
        {    String _name = "Coal";                String _text = "-F Coal";    }
        {    String _name = "Tool";                String _text = "-T Iron Tool";    }        
        {    String _name = "SteelTool";            String _text = "-T Steel Tool";    }        
        {    String _name = "Firewood";            String _text = "-F Firewood";    }        
        {    String _name = "Potato";            String _text = "FV Potato"; }    
        {    String _name = "Wheat";                String _text = "FG Wheat";    }
        {    String _name = "Corn";                String _text = "FG Corn"; }
        {    String _name = "Cabbage";            String _text = "FV Cabbage"; }
        {    String _name = "Squash";            String _text = "FV Squash"; }
        {    String _name = "Bean";                String _text = "FV Bean"; }
        {    String _name = "Pumpkin";            String _text = "FV Pumpkin"; }
        {    String _name = "Pepper";            String _text = "FV Pepper"; }
        {    String _name = "Apple";                String _text = "FF Apple";    }
        {    String _name = "Cherry";            String _text = "FF Cherry";    }
        {    String _name = "Pear";                String _text = "FF Pear";    }
        {    String _name = "Peach";                String _text = "FF Peach";    }
        {    String _name = "Plum";                String _text = "FF Plum";    }
        {    String _name = "Chestnut";            String _text = "FP Chestnut";    }
        {    String _name = "Pecan";                String _text = "FP Pecan";    }
        {    String _name = "Walnut";            String _text = "FP Walnut";    }
        {    String _name = "Fish";                String _text = "FP Fish"; }                
        {    String _name = "Chicken";            String _text = "FP Chicken"; }        
        {    String _name = "Venison";            String _text = "FP Venison"; }        
        {    String _name = "Beef";                String _text = "FP Beef"; }        
        {    String _name = "Mutton";            String _text = "FP Mutton"; }        
        {    String _name = "Mushroom";            String _text = "FV Mushroom"; }                        
        {    String _name = "Onion";                String _text = "FV Onions"; }                        
        {    String _name = "Blueberry";            String _text = "FF Berries"; }                        
        {    String _name = "Root";                String _text = "FV Roots"; }                        
        {    String _name = "Herb";                String _text = "H Herbs"; }
        {    String _name = "Egg";                String _text = "FP Eggs"; }                        
        {    String _name = "Wool";                String _text = "DG Wool";    }            
        {    String _name = "Leather";            String _text = "DG Leather";    }            
        {    String _name = "WinterCoat";        String _text = "-C Warm Coat";    }            
        {    String _name = "WoolCoat";            String _text = "-C Wool Coat";    }            
        {    String _name = "LeatherCoat";        String _text = "-C Hide Coat";    }    
        {    String _name = "Ale";                String _text = "L Ale";    }    

        {    String _name = "Chickens";            String _text = "Chickens"; }
        {    String _name = "Cows";                String _text = "Cattle"; }
        {    String _name = "Sheeps";            String _text = "Sheep"; }

        {    String _name = "SeedApple";            String _text = "Apple Seeds"; }
        {    String _name = "SeedCherry";        String _text = "Cherry Seeds";    }
        {    String _name = "SeedPear";            String _text = "Pear Seeds";    }
        {    String _name = "SeedPeach";            String _text = "Peach Seeds";    }
        {    String _name = "SeedPlum";            String _text = "Plum Seeds";    }
        {    String _name = "SeedChestnut";        String _text = "Chestnut Seeds";    }
        {    String _name = "SeedPecan";            String _text = "Pecan Seeds";    }
        {    String _name = "SeedWalnut";        String _text = "Walnut Seeds";    }

        {    String _name = "SeedCabbage";        String _text = "Cabbage Seeds"; }
        {    String _name = "SeedCorn";            String _text = "Corn Seeds"; }
        {    String _name = "SeedPotato";        String _text = "Potato Seeds"; }
        {    String _name = "SeedSquash";        String _text = "Squash Seeds"; }
        {    String _name = "SeedWheat";            String _text = "Wheat Seeds"; }
        {    String _name = "SeedBean";            String _text = "Bean Seeds"; }
        {    String _name = "SeedPepper";        String _text = "Pepper Seeds"; }
        {    String _name = "SeedPumpkin";        String _text = "Pumpkin Seeds"; }

        {    String _name = "LeatherCoatRequire";String _text = "Hide Coat [Leather]"; }
        {    String _name = "WoolCoatRequire";    String _text = "Wool Coat [Wool]"; }
        {    String _name = "WinterCoatRequire";    String _text = "Warm Coat [Leather + Wool]"; }

        {    String _name = "ToolRequire";        String _text = "Iron Tool [Log + Iron]"; }
        {    String _name = "SteelToolRequire";    String _text = "Steel Tool [Log + Iron + Coal]"; }
        {    String _name = "CoalRequire";        String _text = "Coal"; }
        {    String _name = "IronRequire";        String _text = "Iron"; }

        {    String _name = "AleAppleRequire";        String _text = "Ale [Apple]"; }
        {    String _name = "AleBlueberryRequire";    String _text = "Ale [Berries]"; }
        {    String _name = "AleCherryRequire";        String _text = "Ale [Cherry]"; }
        {    String _name = "AlePearRequire";        String _text = "Ale [Pear]"; }
        {    String _name = "AlePeachRequire";        String _text = "Ale [Peach]"; }
        {    String _name = "AlePlumRequire";        String _text = "Ale [Plum]"; }
        {    String _name = "AleWheatRequire";        String _text = "Ale [Wheat]"; }


I've completed updating all the other files, and am hoping there is a work around to get these vanilla items included too.


Share this post

Link to post
Share on other sites

Oh. Those were left out because I completely forgot to give them to you, since the vanilla string table is in the Dialog folder and not the UI folder.

Just make a new file called StringTable.rsc and paste what you posted in it, I'll handle the rest.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now