Skip to content

vekendianorg/prism

Repository files navigation

Prism

The first mod pack loader for Hill Climb Racing 2.

Prism is an open-source mod pack loader and format designed for Hill Climb Racing 2. It is part of the VEKENDIAN ecosystem and is designed as a standalone project for mod pack creators.

Features

  • You can pass a .zip file path directly to Prism.install() / Prism.validate() — it's extracted to a temp directory automatically and cleaned up after. No need to unzip manually.
  • Simple manifest.json format
  • .zip support — install packs directly from a .zip file, no manual extraction needed
  • Modular package-based structure
  • package/ and flat layout support — drop files at pack root or inside package/, Prism auto-resolves which real game package they belong to
  • Global JSON routing — json/events/, json/seasons/, json/shop/ files go straight to the game's shared directories
  • JSON merging for supported game data
  • Automatic .packages generation and checksum handling
  • Multiple mod packs with configurable priority
  • Lua reference implementation

Pack Layouts

Prism supports three layouts, and a single pack can mix all three:

package/ (primary) — category folders sit directly inside package/ (see docs/GUIDE.md):

MyPack/
├── manifest.json
└── package/
    └── textures/
        └── cars/jeep/epic/jeep_evil_epic/chassis.png

Flat — drop files straight at pack root, next to manifest.json:

MyPack/
├── manifest.json
├── README.md
└── textures/
    └── cars/jeep/epic/jeep_evil_epic/chassis.png

Real-structure (legacy) — name the actual game package directly:

packages/remote_vehicle_paints_2.zip/textures/cars/jeep/epic/jeep_evil_epic/chassis.png

For package/ and flat packs, Prism reads the game's own .packages index and matches each file's relative path against every existing package's filelist. A match gets appended to that package automatically — no need to know or hardcode the real package name. Unmatched files fall back into one new package, named <packId>.zip.

Files under json/events/, json/seasons/, or json/shop/ are routed directly to the game's shared global JSON directories instead of into a game package — these don't belong to any single package.

Simple to author, still precise under the hood.

About

The first mod pack loader for Hill Climb Racing 2.

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages