CLI tool that reads a Farming Simulator .i3d file, walks its <Scene> graph,
and prints an <i3dMappings> block you can paste into a vehicle or placeable
XML.
- Drag-and-drop, command-line, or interactive path prompt
- Prints the block and copies it to the clipboard
- Maps every named node with correct Farming Simulator scene-graph paths
- De-duplicates ids and handles
iso-8859-1.i3dfiles
Requires Go 1.26+.
go build -o i3dmapper.exe .Produces i3dmapper.exe in the project folder.
The build scripts embed Windows version-info metadata (company, product, version, description) into the exe. This removes the "Unknown Publisher" anonymity of a bare Go binary and reduces antivirus false-positives when sharing the tool.
# Windows (PowerShell)
.\build.ps1# Linux / macOS / WSL / Git Bash
./build.shEach script installs goversioninfoversioninfo.json
if missing, generates the resource from versioninfo.json, builds a stripped
binary (-trimpath -ldflags "-s -w"), and prints the SHA256 checksum for
release notes.
To give i3dmapper.exe an icon, place a multi-resolution icon.ico
(16/32/48/256 px) in the project root before building. The build scripts embed
it automatically; if no icon.ico is present they build without one.
Create an .ico from a PNG with ImageMagick:
magick icon.png -define icon:auto-resize=256,48,32,16 icon.icoNote: this does not replace an Authenticode code-signing certificate. Full SmartScreen trust still requires a signed binary.
Drag one or more .i3d files onto i3dmapper.exe. The generated
<i3dMappings> block is printed to the terminal and copied to the clipboard for
each file. The window stays open until you press Enter.
i3dmapper.exe path\to\file.i3d [more.i3d ...]Or run from source without building:
go run . path\to\file.i3dStart i3dmapper.exe with no file. It prompts:
Enter absolute path to .i3d file:
Paste an absolute path (surrounding quotes are stripped) and press Enter.
For every named node in the <Scene> it generates:
<i3dMappings>
<i3dMapping id="nodeName" node="0>0|1|0" />
...
</i3dMappings>The block is also copied to the clipboard automatically (Windows
clip.exe), so you can paste straight into your XML. With multiple input files
the blocks are joined with a blank line.
Node path syntax (Giants scene-graph indexing):
N>the N-th direct child of<Scene>(a root component)N>a|b|cfrom that component, descend child indexa, thenb, thenc
- Generates a mapping for every named node, a superset of what a mod usually needs. Prune the ones you don't reference.
idmust be unique. Duplicate node names get a_2,_3, ... suffix and aWARNline. Rename the nodes in Giants Editor for a clean map.- Unnamed nodes are skipped with a warning.
- Handles
iso-8859-1/ latin1 encoded.i3dfiles written by Giants Editor.