Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
DynamicCamera
No more static cameras or camera operators missing the key moment: DynamicCamera watches your fights unfold live and decides, on its own, where and how to film them. It figures out who's fighting, gauges how intense the exchange is, and chains together varied cinematic shots so every hit, chase, and death gets the feel of a real video production — with zero manual input.
An automatic cinematic camera director for your Minecraft fights and broadcasts.
DynamicCamera turns a dedicated player (named Camera by default) into an intelligent virtual cameraman. The plugin analyzes combat on the server in real time — hits landed, proximity, movement, low health, deaths — and automatically moves the camera to always frame the most interesting action, with smooth transitions between multiple cinematic shots.
Perfect for PvP servers, events, Twitch/YouTube broadcasts, or any content that needs professional combat coverage without a human cameraman.
✨ Features
- Automatic fight detection: the plugin tracks damage between players and groups clashes into active "fights," extending the detection window with every hit.
- Smart Director system: a scoring engine continuously picks the most worthwhile fight to film, weighing:
- recent hits
- hit frequency / combo
- player proximity
- group movement speed
- low health
- a player's death (highest priority)
- fight already being filmed (penalty to avoid getting stuck)
- 9 built-in, fully configurable camera plans:
wide,side,front,orbit,orbit_fast,overhead,low,close,dynamic— each with its own distance, height, side offset, and orbit speed. - Smooth transitions between shots (position/look interpolation) instead of hard cuts.
- Dedicated death shot: when a player dies, the camera automatically switches to a dramatic orbital shot, with an optional second shot that takes over after a short delay.
- Anti-repetition: the director avoids reusing the last plans it played to keep the coverage varied.
- Built-in safety: automatically avoids lava, the void, and configurable height limits.
- Automatic return: on stop, the camera player can be returned to its previous position after a short delay.
- Fully configurable via
config.yml(durations, distances, scoring weights, smoothing, safety, etc.).
⚔️ 1v1, 2v2, 3v3 and beyond
DynamicCamera isn't limited to duels — it automatically detects and frames group fights too.
- Every exchange of hits between two players is first tracked individually.
- Fights that are spatially close (within a 12-block radius) are automatically merged into a single group encounter — whether it's a 1v1, a 2v2, a 3v3, or a larger brawl.
- The camera then computes a group center and an average movement velocity from all linked participants, framing the whole fight instead of just one isolated duel.
- The number of detected participants directly affects shot selection: some close-up shots are avoided for big brawls, while some wide shots are skipped for a simple duel, keeping the framing consistent with the intensity of the fight.
- If a combatant dies, the death shot triggers while taking the size of the remaining group into account.
🎮 Commands
| Command | Description |
|---|---|
/camera start |
Starts the automatic director |
/camera stop |
Stops the director and returns the camera |
/camera set <player> |
Sets which player is used as the camera |
/camera clear |
Resets the camera |
/camera status |
Shows current status (tracked fights, current plan, plan age) |
🔑 Permission
dynamiccamera.admin— access to all/cameracommands
⚙️ Configuration
All values can be tuned in config.yml, including:
camera-player: name of the player used as the cameraenabled-on-start: auto-start the director when the server launchescombat.*: fight detection windows (hit extension, max duration, post-death delay)director.*: shot durations, switch margins, scoring weightsfight-camera.*: position/look smoothing, dead zone, min/max distanceplans.*: full customization of the 9 camera plansdeath-shot.*: death shot settingssafety.*: anti-lava / anti-void / min-max height limitsreturn.*: camera player return behavior on stop
📋 Requirements
- Paper/Spigot 1.21 to 26.1.2 server
- A player (bot or dedicated account), in spectator mode
🧩 Compatibility
Standalone plugin, no external dependencies. Compatible with most standard PvP setups.
Developed by Guiirec. For commercial usage, contact me on discord (Guiiirec)

