Skip to content

pack.json

triggered_idiot edited this page Oct 14, 2025 · 2 revisions

this article is unfinished, but its public because idk how to hide articles lol

Understanding pack.json
by triggeredidiot

(As of writing this article is for the up-incoming version of ResourcefulHands so some features may not exist in the thunderstore version)

This article assumes you understand how to read and write json files!

If you want to skip to what you need to do for making your own pack and don't care about advanced features click here.

Here is a full pack.json example:

{
    "name":"generated-game-assets",
    "desc":"Every game asset",
    "author":"Dark Machine Games",

    "pack-version":"0.50",  -- added in an up-incoming update
    "steamid":0,
    
    "guid":"generated.game.assets.unique",
    "hidden-from-list":true,
    "only-in-full-game":false,
    
    "game-string":"b0.50p",  -- added in an up-incoming update
    
    "textures-folder":"Textures",
    "sounds-folder":"Sounds",
    "icon-file":"pack.png",
    "icon-filter":false,  -- added in an up-incoming update
    
    "format-version":3
}

For simplicity a pack.json can be split into 2 groups:

  • Visual properties
  • Internal properties

Visual properties

The following properties are visual properties:

  • name
  • desc
  • author
  • pack-version
  • steamid
  • icon-file
  • icon-filter

The effect these have can be explained pretty easily with the following images: image
image

Note: the icon-file is the relative path of the icon (png/jpg)

i.e
if the path to the icon is "C:\Users\CoolPerson\Appdata\Local\r2modman_shit\pack_thingy\icon.png"
the relative path would just be "icon.png"
this is beacuse "C:\Users\CoolPerson\Appdata\Local\r2modman_shit\pack_thingy\" is added behind the path automatically

Internal properties

The following properties are internal properties:

  • guid
  • hidden-from-list
  • only-in-full-game
  • game-string
  • textures-folder
  • sounds-folder
  • format-version

These are slightly more complicated and function as follows:

guid

This is a globally unique identifier for your mod. This needs to be unique to your mod, for example, "[your username].[mod name]" would be unique enough. However, something like "hello.world" would obviously not be recommend due to how generic this is.

A guid is needed to help the game identify what packs are what this means it shouldn't change between pack versions.

hidden-from-list

When true this just hides your mod from the list, this isn't really useful and is mainly used by the buggy dumptopack command.

only-in-full-game

When true if you are playing the demo the pack won't be loaded at all.