Absolute Cinema Camera
Turns the game into a film: letterbox, colour grading, depth of field, and a director that shoots your roleplay scenes — including whoever is talking on Simple Voice Chat.
截图
介绍
Absolute Cinema Camera
A client-side Fabric mod that turns Minecraft into a film. One key puts the game into cinema
mode: black bars slide in, the HUD goes, the picture is graded and softened, and the camera
either smooths out your own movement or detaches entirely and shoots the scene for you.
Built for roleplay servers — nothing is required on the server side, and other players do not
need the mod.

Watch it film a conversation — one continuous take, nothing cut
afterwards. Every change of frame is the mod deciding who has the floor.
What it does
Letterbox and HUD. Cinemascope mattes at the top and bottom, sliding in over a configurable
fade. The HUD, the held item and the hand can all be hidden — each separately. The chat stays
visible by default and is lifted clear of the bottom matte, because on a roleplay server half the
scene happens in text; hide it too if you want a completely clean frame. The crosshair goes
regardless of what else you keep — in the directed modes the camera is nowhere near your eyes, so
it would sit in the middle of the picture pointing at nothing. The F3 debug overlay deliberately
stays visible so you can still read the framerate while filming.
Colour grading. Twenty looks, applied through a three-way colour corrector (lift / gamma /
gain) plus saturation, contrast, glow, grain, chromatic aberration, exposure flicker, image warp
and double vision. They are ordered by the kind of look they give, so cycling through them with
the key stays predictable:
| Preset | Look |
| — | — |
| No grade | Untouched picture, filters still available |
| Bright | |
| Golden hour | Amber low sun, soft contrast, light hazing off every surface |
| Noble study | Candlelit gold on the faces, warm shadows, the light slowly breathing |
| Grand ball | Chandeliered hall: lifted gold, airy contrast, glow everywhere |
| By the campfire | Warm firelight, cool deep shadows, gentle grain |
| Deep frost | Pale, cold and flat, light bouncing off snow |
| Distorted | |
| Drunk | The room sways, edges split into a second faint copy, lights smear |
| Fever | Sickly yellow-green over bruised shadows, the picture swimming |
| Colour led | |
| Romance | Rose shadows, magenta highlights, a glow on everything bright |
| Bloodlust | Everything drowns in red — the shot before someone draws a blade |
| Enchantment | Violet shadows against cyan light, glowing and fringing |
| Dark | |
| Overcast morning | Cold, flat, milky lifted shadows |
| Foul weather | Cold grey-blue, hard contrast, everything wet and glinting |
| Moonlight | Blue, dim, desaturated, quiet |
| Conspiracy | Blue-green gloom with one warm candle holding the faces |
| Interrogation | One harsh lamp: bleached colour, brutal contrast, dark corners |
| Bad dream | Sickly green-magenta, crushed, heavy grain and vignette |
| Stylised stock | |
| Memory | Soft sepia, lifted, glowing at the edges |
| Old film | Scratched sepia, heavy grain, gate flicker, hard vignette |
| Black and white | Full desaturation with a hint of warmth in the highlights |
Vignette and film grain are separate toggles that apply to every preset, and the whole grade has
a strength slider.

Combat interrupt. Taking damage drops the mode instantly, with no fade — so nobody can
ambush you while you are watching a camera orbit. It can be switched off.
Depth of field. A real depth-buffer effect, not a screen-space fake: the distance to what
the camera is aimed at is measured every frame and the focus is pulled smoothly towards it. The
foreground is left sharp by default (blurring it ghosts the ground at your feet), and can be
softened separately if you want it. It only applies to the presets a soft background actually
suits — the bright and stylised looks stay sharp across the whole frame even with the filter on.
Six camera modes.
- First person — you keep control. The camera follows your mouse with a configurable lag, the position is smoothed, and the walking sway is switched off entirely: vanilla rocks the view from side to side on every step, and no camera on a real set does that.
- Dynamic camera — the camera detaches and shoots the whole scene: you and every player within the scene radius (named creatures can be counted in as well, off by default). It composes around the group centre at a distance wide enough to hold everyone, and picks from orbits, wide frames, tracking moves, dollies, cranes and locked-off frames. It never approaches a face, and never swings behind the group — that is reserved for the third mode.
- Focus on speaker — the same scene coverage while the room is quiet, but the moment Simple Voice Chat reports someone talking, the camera cuts to their face: a close-up or a push-in from 1.35–2.3 blocks, angled off their own gaze so you see the face, not the back of the head. Two separate timings decide when it lets go, because a conversation and a silence are different things: a quarter of a second’s pause is enough for somebody else to take the frame, while a room that has simply gone quiet holds the last speaker a while longer. A turn also has a maximum length, so an open mic or a held talk key cannot own the camera for the rest of the evening.
- Dialogue — how one operator with one camera covers a conversation: hold everybody in a master shot, cut in to whoever starts speaking, cut back out the moment they stop. Two people or a table of five makes no difference — nobody is dropped from the film for not being in the pair, which is what a strict two-person shot-reverse-shot did here. Who counts as the speaker comes from Simple Voice Chat, or from the chat — see below. The camera keeps to one side of the group and never crosses it, because crossing makes everyone swap sides of the screen between cuts and the scene stops reading. Cuts here are instant on purpose — gliding between opposite angles would fly straight through the people.
Three consecutive frames from one conversation, with nobody touching a key between them:



- Tripod — locked off wherever you planted it, turning only to keep the scene in frame. Put the camera down, walk into shot, play the scene. For speeches, trials, performances, and long talks where constant orbits get tiring.
- Side track — travels alongside the scene at a fixed angle, keeping pace. For walks, processions and rides. It swaps sides every twenty seconds or so, and immediately if the current side runs out of room.
Shots respect the room: eight rays measure the free space around the scene a few times a second
and shots are aimed at whichever side has room for them; the camera is clipped against walls
along all four corners of its near plane; a shot that stays jammed against geometry is recomposed
from a different angle. In a room too small for travelling shots the camera switches to looking
down from the ceiling, and if a wall ever squeezes it inside the people it is filming, it climbs
out of them.
Shots also respect the people. Every frame the camera checks each participant against its real
field of view — the letterbox included, since the mattes eat the top and bottom of the picture —
and backs off by exactly what is missing, so nobody is left outside the frame however the group
is spread out. A few rays a second confirm the scene is actually visible and not behind a pillar;
a shot of nothing is dropped for a better angle. Signs, item frames and other clutter with no
collision cannot be pushed away from the lens, so anything that ends up right in front of it is
simply not drawn.
Roleplay played out in text. Half of every scene on a roleplay server is typed rather than
spoken — a /me, a /do, a line of dialogue — and a camera that only listens for voices spends
that half filming the wrong person. So a message counts as a turn too, and the camera cuts to
whoever wrote it.
Finding out who wrote it takes no server-side plugin. Ordinary player chat carries the sender in
the packet. Everything a chat plugin has reformatted arrives as a system message with no author
attached anywhere — but servers habitually decorate the name with the vanilla show_entity
hover, the tooltip you get pointing at somebody’s message, and that hover is by definition an
entity type and a UUID. The author is therefore read out of decoration the server was already
sending.
A message is not treated as speech, because it is not one. Speech is a duration; a message is an
instant with a reading time attached, so the frame is held for a couple of seconds plus however
long the line takes to read, capped. A live voice always outranks writing. Anything containing a
marker you have listed — an out-of-character ((, a global channel prefix — is ignored, and so is
anybody too far away to be in the shot.
The camera belongs to whoever switched it on. Walk ten blocks away from everybody else and you
have left the scene, whatever the scene radius says — so the camera leaves with you, rather than
staying behind to film a conversation you are no longer part of. The distance is configurable, and
can be switched off.
Cutting by hand. The angle can be changed on a key at any time, and the automatic change can
be switched off altogether — then a frame stands until you ask for another one. Only while the
camera is filming the room: whoever starts speaking still takes the frame at once, since being
told who has the floor is the point of those modes and no key is quicker than a voice. A shot
jammed against a wall is still recomposed without asking, because holding a frame is worth doing
and holding a broken one is not.
One thing the camera deliberately ignores is where people are looking. A shot’s angle belongs to
the shot: it is fixed when the shot is composed and only follows someone who genuinely turns
around, slowly. Otherwise whoever was on screen would be steering the camera with their mouse —
for everybody watching.
Controls
| Key | Action |
| — | — |
| F7 | Toggle cinema mode |
| unbound | Open the settings screen |
| unbound | Next camera mode |
| unbound | Next colour grade |
| unbound | Next scene profile |
| unbound | Plant the tripod here |
| F9 | Change the angle |
All of them are rebindable in the vanilla controls screen, under Absolute Cinema Camera.
Scene profiles
A profile is a named staging setup — camera mode, colour grade and which filters are on — that
switches in one keypress or one command. Nobody wants to open a settings screen in the middle of a
scene, and cycling grades by key means remembering the order. So: set the rig up once, save it
under a name, call it whenever that kind of scene happens.
/cinema scene list the profiles, marking the active one
/cinema scene set <name> apply it
/cinema scene save <name> save the current setup under that name
/cinema scene delete <name> remove it
Five come ready as examples: talks (dialogue coverage, noble study), ball (dynamic, grand
ball, wider framing), tavern (speaker focus, campfire), duel (dynamic, bloodlust, closer
framing) and stage (tripod, grand ball). Rename, rework or delete them freely — a profile is
just a line in the config.
Only what belongs to staging is stored: mode, grade, the filter toggles, grade strength and shot
distance. Preferences like smoothing, shot length and scene radius stay global, so profiles never
fight your personal settings.
Commands
/cinema open the settings
/cinema on | off | toggle switch cinema mode
/cinema mode <mode> first_person | dynamic | speaker_focus | dialogue | tripod | side_track
/cinema grade <grade> any preset id, with tab completion
/cinema scene ... see scene profiles above
/cinema tripod plant the tripod where you are standing
/cinema shot change the angle, the same as the key
Building
Gradle 8.14.3 with Loom 1.11.8, Java 21. ./gradlew build produces the jar in build/libs.
./gradlew runClient starts a dev client straight into a test world; pass
-Dabsolutecinema.debug=true (already set for that task) to have the post processor and the
director log what they are doing.
Settings
With Cloth Config installed the settings open from
Mod Menu as one searchable list; remember to press **Save
changes**, since Cloth discards edits on Escape. Without Cloth the mod falls back to its own
built-in screen, which applies everything immediately and covers exactly the same settings.
Every setting takes effect while the screen is open, so a shot can be framed by looking at it
rather than by guessing, saving, closing and going back in. The background behind that screen is
left clear for the same reason. And while the scene radius is being changed, the shape it actually
tests is drawn around the player in green — a sphere of that radius, cut flat top and bottom by
the height limit — so it can be set by seeing who falls inside it. It stays up for a few seconds
after the settings close, which is long enough to turn round and look.

Requirements
- Minecraft 1.21.6 – 1.21.8, Fabric Loader 0.16+, Fabric API
- Optional: Cloth Config (fuller settings screen), Mod Menu (settings button)
- Optional: Simple Voice Chat — what the speaker focus and dialogue modes use to know who is actually talking. Install it on the server as usual; this mod only listens on your own client, and nothing here needs a server-side plugin. Both modes still work without it, they just cannot follow a voice.
Other versions need a separate build: 1.21–1.21.5 use the old shader system, and 1.21.9+
reworked the renderer again.
Thanks
Thanks to Contik, Cmetanochkaa, Gizmons_ and Morda_ for testing the mod.
Licence
LGPL-3.0-or-later. See LICENSE.
常见问题
Absolute Cinema Camera 支持哪些 Minecraft 版本?
Absolute Cinema Camera 支持 Minecraft Java 版 1.21.6–1.21.8,共 3 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
Absolute Cinema Camera 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
Glam_Ardor 的其他作品
查看全部 →
Roleplayer’s Atlas
A hand-drawn atlas for roleplay servers. Draw territories, roads, inscriptions and whole player-built towns, correct the biomes it guessed wrong, and sign and date maps to hand to other players. Client-side, no server mod.
Custom Block Sounds
Resource-pack-driven block sound overrides: break, fall, hit, place, step and ambient (idle) sounds per blockstate, with volume, pitch, chance and condition settings in blockmap.json.
Voice Chat Mic Indicator
A client-side add-on for Simple Voice Chat that shows a microphone indicator above a player's head while they're talking - even when name tags are hidden.
Roleplayer’s Dice
A roleplay server's dice roll, thrown where it can be seen: the chat line is held back, a die appears, you throw it by hand, and it lands on the number the server rolled.
评论
登录后评论和评分