- dev.bodycam mod root
- BodycamClient — client entrypoint
- BodycamModMenu — Mod Menu entrypoint
- camera — the heart of the camera
- BodycamEffects — orchestrates bob, shake, roll, breathing
- TemporalSmoother — smoothing on real delta
- Spring — damped spring (k/c)
- CameraState — per-frame persistent state
- ChestCam — chest mode + wide FOV
- BreathSound — breathing + synced OGG
- PostEffects — exposure, flash, motion blur
- WaterEffects — waves, caustics, refraction
- tacz — optional weapon realism
- TaczBridge — reflection bridge
- TaczGunRealism — weapon spring (2nd order)
- TaczSway — run sway / ADS
- BodycamEffects — orchestrates bob, shake, roll, breathing
- compat
- IrisCompat — shaderpack detection
- config
- BodycamConfig — JSON + validation
- core
- GameState — game context
- RenderCoordinator — render phase
- gui
- BodycamConfigScreen — settings screen
- mixin — injection points
- CameraMixin — getRotation / update
- GameRendererMixin — renderWorld
- EntityMixin — footsteps synced to audio
- ClientPlayerEntityMixin — player state
- TaczGunTransformMixin — weapon transform (TACZ only)
- BodycamMixinPlugin — enables/disables mixins
REC · v1.4.3+1.20.1
A bodycam inside Minecraft.
NEXUS Bodycam is a 100% client-side rework of the first-person camera. It changes how the camera looks and feels — never movement speed, hitboxes, raycasts or server logic.
Minecraft 1.20.1
Fabric ≥ 0.15.11
Java 17+
License GPL-3.0
8presets
17DoF passes
3.06sbreathing cycle
75–83FPS with everything on
Systems
Every icon opens the internals
These are the subsystems that make up the mod. Click any card to open the matching diagram — including the family tree of the code.
Architecture
The contract: pure client-side
The mod changes only how the camera is drawn. No competitive advantage — by construction, not by promise.
What it does
- Rewrites the world render matrix
- Adds post-processing shaders
- Plays local breathing audio
- Saves config to
config/bodycam.json
What it does NOT do
- No change to speed or collision
- No touching of hitboxes or raycasts
- Nothing is sent to the server
- No effect on TACZ bullets or aiming
Injection points
CameraMixin— camera rotationGameRendererMixin— render phaseEntityMixin— footsteps ↔ audioTaczGunTransformMixin— weapon (TACZ only)
In action
Previews
Every clip lives in gameplay/ in the repository.
Installation
Three steps
Requirements: Fabric Loader ≥ 0.15.11 · Fabric API · Java 17+.
Install Fabric Loader
For Minecraft 1.20.1. Get it from the official site.
Download the JAR
Grab the JAR from the latest release — the download buttons never need updating: they always resolve automatically to the newest published version (v1.4.3+1.20.1).
Building from source
git clone https://github.com/jhfuheuiwfh/nexus-bodycam-mod.git
cd nexus-bodycam-mod
./gradlew build # Windows: gradlew.bat build
The artifact lands in build/libs/. It compiles without TACZ — in
that case the weapon mixin is left out and the bridge stays off. For the full
package, put the TACZ jar in libs/ before building.
libs/ is gitignored because that jar is third-party.
Compatibility
Works with your setup
| Mod | Status | Notes |
|---|---|---|
| Fabric API | Required | — |
| Mod Menu | Optional | Opens the in-game settings screen |
| TaCZ | Optional | Weapon realism (visual only). Wired via reflection — without it the mod still works |
| Iris / Sodium | Compatible | Shadow passes are skipped |
| Bodycam shaderpacks | Compatible | Use "Sync with Shader" |
| Distant Horizons | Compatible | — |
Watch out for mod compatibility. Versioning semantics:
1.0.x = small fix · 1.x.0 = big feature ·
x.0.0 = heavy rework. If something breaks, test before blaming another mod.
Roadmap
Still to be validated
Implemented, but not yet confirmed comfortably in game.
Needs playtesting
- Blurred vignette (v1.4.3) — slider 0…1, default 0.6
- Aim alignment while mining (chest cam on/off)
- Breathing exhaustion at 5 s / 20 s of sprint
- TACZ feel: spring, lowering, sway, recoil
Ideas without a date
- Bodycam REC overlay (timestamp, battery, blinking dot)
- Share presets by importing a
bodycam.json - Script that fetches the TACZ jar into
libs/ - Localization beyond
en_us/pt_br
Transparency
Disclosures
AI usage
This project is substantially AI-generated and owns that openly. Most of the code, shaders, assets and documentation was produced by AI agents, with the human author directing the work, playtesting in game and making the final calls.
Full details in AI-TRANSPARENCY.md.
Warnings and license
Photosensitivity: this project may contain flashing lights.
Released under GNU GPL v3.0.
Independent project. Not affiliated with, sponsored by or endorsed by Mojang Studios or Microsoft. Minecraft is a trademark of those companies.