# πΈ Photography
### Turn Minecraft items into photos, recordings, videos, evidence, props, cutscenes and much more.
**Photography** is a Fabric mod for Minecraft 1.21.1 built for adventure maps, horror maps, RPGs, mysteries, ARGs, roleplay servers and story-driven experiences.
The idea started simple:
> What if an ordinary Minecraft item could open an actual image?
Today, Photography can do much more.
A piece of paper can become a photograph.
A book can contain a video.
A renamed item can become a VHS tape.
A key can have its own custom texture.
A player can collect evidence inside an Investigation Journal.
A command block can trigger a fullscreen cinematic.
A Twitch stream can appear inside Minecraft.
And almost everything is designed around **normal Minecraft ItemStacks**, so map creators can decide what their objects actually represent.
---
# πΌοΈ Images & GIFs
Attach images directly to existing Minecraft items.
Supported:
- PNG
- JPG
- JPEG
- Animated GIF
- Local files
- Online URLs
- Subfolders
The image viewer includes:
- Mouse-wheel zoom
- Dragging and panning
- Animated GIF playback
- Minecraft-inspired interface
Perfect for:
- Photographs
- Documents
- Evidence
- Maps
- Drawings
- Posters
- Notes
- Puzzle clues
Local files are stored in:
`mods/photography/image/`
---
# π΅ Audio
Turn Minecraft items into playable recordings.
Supported formats:
- MP3
- OGG
The audio player includes:
- Play / Pause
- Seeking
- Progress display
- Duration
- Volume control
- Minecraft-inspired interface
Use it for:
- Audio logs
- Voice recordings
- Radio messages
- Character dialogue
- Music
- Horror tapes
- Environmental storytelling
Local audio is stored in:
`mods/photography/audio/`
---
# π¬ Video
Photography can play actual video directly inside Minecraft.
Supported sources include:
- Local MP4 files
- Direct online video sources
- Twitch
- YouTube through the optional WATERMeDIA YouTube Extension
The video player includes:
- Play / Pause
- ±10 second seeking
- Clickable progress bar
- Volume control
- Duration display
- LIVE detection
- Online metadata
- Safe loading and failure handling
Local videos are stored in:
`mods/photography/video/`
Video playback is powered by **WATERMeDIA**.
---
# π΄ YouTube & Twitch
Photography supports online media through WATERMeDIA.
## YouTube
YouTube playback requires the optional:
**WATERMeDIA YouTube Extension**
Photography can display available metadata such as:
- Video title
- Channel / creator
- Source
If the extension is missing, Photography displays a clear error instead of crashing or endlessly loading.
## Twitch
Twitch streams are supported directly through WATERMeDIA.
Photography automatically detects LIVE content and changes the player behavior:
- `β LIVE` indicator
- No fake duration
- Seeking disabled where appropriate
- Channel/source information when available
---
# ποΈ Fullscreen Cutscenes
Photography includes a command-driven cinematic system made specifically for map creators.
Example:
`/video play "intro.mp4" @a skip false`
Cutscenes support:
- Player selectors
- Multiplayer
- Command blocks
- `/execute`
- Datapack functions
- Console execution
- Skippable / non-skippable videos
- Custom starting volume
- Playback speed
- Fade-in
- Fade-out
- Advanced subtitles
- Commands after completion
- Commands when skipped
Example:
`/video play "intro.mp4" @a skip true volume 40 speed 1.5 fadein 1 fadeout 1 onskip "function story:skip" then function story:continue`
---
# π¬ Advanced Subtitles
Photography uses JSON subtitle tracks designed for cinematic dialogue.
Features include:
- Start / end timing
- Multiline text
- Custom colors
- Text size
- Top / center / bottom positioning
- Shadow
- Bold
- Italic
- Background boxes
- Speaker names
- Speaker colors
- Reusable speaker profiles
- Typewriter effects
- Custom typewriter speed
Different players can even receive different subtitle files, making multilingual maps possible without duplicating the video.
Subtitle files are stored in:
`mods/photography/subtitles/`
---
# ποΈ Title & HUD Overlays
Photography 1.2.1 introduces a new title overlay system.
Display:
- Text
- Local images
- Online images
- Titles
- Subtitles
With independent:
- Fade-in
- Fade-out
- Duration
- Size
Example:
`/photography title "CHAPTER I" fadein 1 fadeout 1 duration 5 size 2 subtitle "The Beginning" fadein 1 fadeout 1 duration 4 size 1`
Images can also be used instead of text.
This is perfect for:
- Chapter introductions
- Location cards
- Objective notifications
- Logos
- Story transitions
- Evidence notifications
Unlike a GUI screen, the overlay does not stop normal gameplay.
---
# π Investigation Journal
Photography 1.2.1 adds the **Investigation Journal**, designed for mystery, horror and story maps.
The Journal acts as a persistent evidence collection.
Equip it in its dedicated inventory slot and Photography media items found by the player are automatically recorded.
Features include:
- Dedicated Journal inventory slot
- Automatic evidence collection
- Evidence stored inside the Journal itself
- Persistent evidence when dropped, stored or transferred
- 27 evidence entries per page
- Up to 270 entries
- Pagination
- Open saved media directly from the Journal
- Delete evidence with confirmation
- Deleted evidence names remain blocked from that Journal
- Custom Journal texture
- Vanilla-inspired container interface
The original item is never removed.
The Journal stores a snapshot of the evidence instead.
This allows players to build a real collection of photographs, videos, recordings and story objects throughout an adventure.
---
# π¨ Custom Item Textures
Photography 1.2.1 also introduces custom textures for individual ItemStacks.
This means you can take an ordinary Minecraft item and completely change how that specific item looks.
Example:
`/photography texture item "keycard.png"`
Or from a URL:
`/photography texture item "https://example.com/keycard.png"`
Supported:
- PNG
- Transparency
- Local files
- Online URLs
- Subfolders
- Per-ItemStack textures
- Safe fallback to vanilla textures
- Online texture caching
- 16×16 up to 256×256
Local textures are stored in:
`mods/photography/item_textures/`
Custom textures do **not** require the item to contain media.
This means Photography can also be used to create custom story props such as:
- Keycards
- VHS tapes
- Polaroids
- Documents
- Floppy disks
- Keys
- Evidence bags
- Radios
- Quest items
- RPG objects
And custom textures can still coexist with Photography image, audio or video behavior.
For example, a custom VHS-looking item can actually open a video.
---
# π Adventure Mode Protection
Photography 1.2.1 adds protections specifically designed for adventure maps.
Players in Adventure Mode cannot:
- Remove books from Lecterns
- Edit normal Signs
- Edit Wall Signs
- Edit Hanging Signs
- Edit Wall Hanging Signs
Reading Lectern books still works normally.
## Camerapture Integration
If **Camerapture** is installed, Photography also protects its picture frames while players are in Adventure Mode.
Players cannot modify, rotate or break protected picture frames.
Camerapture is completely optional.
Photography works normally without it.
---
# π§ Cutscene Gamerules
Photography includes optional gamerules for cinematic sequences.
### Freeze players
`/gamerule photographyFreezeDuringCutscenes true`
Players stay anchored while a Photography cutscene is active while still being able to look around.
### Protect players from damage
`/gamerule photographyInvulnerableDuringCutscenes true`
Normal damage is prevented while the cutscene is active.
Both gamerules are disabled by default.
---
# βοΈ onskip & then
Photography provides callbacks for map scripting.
## `onskip`
Runs when an allowed cutscene is actually skipped.
`onskip "function story:skip"`
## `then`
Runs after a successful cutscene completion.
`then function story:continue`
In multiplayer, Photography waits for all targeted players before running `then`.
---
# π§° Normal Minecraft Items
Photography does not force you to use special media items.
Hold an existing Minecraft item and attach behavior to it.
### Image
`/photography image "Old Photograph" item "photo.png" ocultar true`
### Audio
`/photography audio "Recording #4" item "recording.mp3" ocultar true`
### Video
`/photography video "Security Tape" item "camera04.mp4" ocultar true`
### Custom Texture
`/photography texture item "vhs.png"`
You decide what the item represents.
---
# π Reload System
Photography includes:
`/photography reload`
Useful while developing maps.
Reloading can refresh:
- Local media
- Item textures
- Subtitle data
Active subtitle tracks can even be reloaded while a cutscene is running.
---
# π Photography Folders
Photography uses:
`mods/photography/image/`
`mods/photography/audio/`
`mods/photography/video/`
`mods/photography/subtitles/`
`mods/photography/item_textures/`
---
# πΊοΈ Made for Storytelling
Photography is designed around giving map creators freedom.
Possible uses include:
- Adventure maps
- Horror maps
- RPGs
- ARGs
- Mystery maps
- Escape rooms
- Roleplay servers
- Story servers
- Cinematic projects
- Puzzle maps
- Audio logs
- Found footage
- Security recordings
- Character dialogue
- Evidence systems
- Investigation gameplay
- Custom quest items
- Livestream displays
- Custom props
- Intro / ending cinematics
The goal is not to tell you how to make your map.
The goal is to give you the tools to make whatever you want.
---
# π¦ Requirements
### Required
- Minecraft 1.21.1
- Fabric Loader
- Fabric API
- WATERMeDIA 2.1.37
### Optional
**WATERMeDIA YouTube Extension 2.1.2**
- Required only for YouTube playback.
**Camerapture**
- Optional integration for Adventure Mode picture-frame protection.
---
# β€οΈ Photography
Photography started as a way to display images inside Minecraft.
It has grown into a toolkit for creating stories.
Photos.
Audio.
Video.
Livestreams.
Cutscenes.
Subtitles.
Evidence.
Custom items.
Adventure protections.
**Your items. Your media. Your story.**
