Detailed weapon trees, armor lists, and monster information for Monster Hunter Freedom Unite / P2G in the style of the in-game UI!
Thank you to all the people below, and anyone I missed, for the invaluable help with this project:
- Aino
- Arxx
- Assis
- Athena
- Danzell
- Darkcola
- Emanon
- Hay_AJ
- Hunsterverse contributors
- Ice Cream
- Jely
- kpworthi
- kushala
- lirkas
- Mustard
- rafaellum
- Shiro
- Vid (Firaga)
- WillTheHunter
- Yaas
- Zack
In-game item IDs and names (data/items.json, used by the save loader on /hunter) were imported once from the MIT-licensed datamines Daigo829/mhfu-save-viewer and IncognitoMan/mhp2g-patterns, and are edited by hand since. Each item's rarity, carry limit and price come from the disc (packages/mhfu-extract).
The skill activation table (data/skills.json, used by the set builder on /set-builder) comes from the MIT-licensed Kolyn090/mhfu-db (Kolyn090, Gustavo Augustini), with tree names changed to the game's SkillID spelling and the site's other spellings listed as aliases. The set builder itself is modelled on Athena's Armor Set Search.
This is a pnpm workspace:
| Path | Package | What it is |
|---|---|---|
apps/blacksmith |
blacksmith |
The MHFU Blacksmith website, a statically exported Next.js app |
apps/randomfu |
randomfu-web |
The randomizer as a static web app that runs in the browser, at randomfu.vallode.com |
packages/mhfu-extract |
mhfu-extract |
Datamining pipeline: reads a disc image and emits data/ and the site's 3D models |
packages/randomfu |
randomfu |
Seeded randomizer: library, command line and local settings page |
packages/game-data |
game-data |
The one way into data/: readData for everything that reads it, writeData for writing |
data |
The game data the site is built from (JSON, validated by data/schemas/), shared by everything |
Packages import each other by name (import … from "mhfu-extract/src/container/image.js"),
declared as workspace:* dependencies.
Dependencies:
From the repository root:
pnpm install
pnpm dev # the site's dev server on http://localhost:3000
pnpm build # regenerate the site's data + static export to apps/blacksmith/out/
pnpm lint # ESLint
pnpm typecheck # tsc in every package
pnpm test # every package's tests
pnpm format # Prettier, for the whole repository
pnpm format:check # Prettier, check only
pnpm clean:discs # delete disc images left in Claude Code scratchpads (--dry-run lists them)Run any package's own scripts with pnpm --filter <package> <script>.
More: the site's workflow (data, crafting trees,
3D models), the game data format and
deployment (Cloudflare).

