

Camera Obscura
Capture Your Minecraft World in Photos! 🎮📸
With the Camera Obscura mod, you can take pictures of your game world or server and save them as maps. The key advantage — no client-side mods are required for server use: everything is rendered directly on the server using ray-tracing technology!
🔧 How It Works
The mod adds a "Camera" item to the game that looks and functions like a regular spyglass but has a special purpose. When used, it creates a map showing the visible landscape, consuming a map item in the process (configurable).
There's no crafting recipe for the camera yet — the item must be obtained through creative mode or commands.
⚙️ Configuration Settings
On first launch, a configuration file will appear in the configs/camera-obscura.json
folder with these parameters:
{
"renderDistance": 128,
"showSystemMessages": false,
"renderEntities": false,
"renderEntitiesAmount": 20,
"fullbright": false,
"fov": 70,
"biomeBlend": 1,
"cameraItem": "minecraft:spyglass",
"cameraConsumesItem": true,
"cameraConsumeItem": "minecraft:map",
"commandPermissionLevel": 2
}
- renderDistance — visibility range in blocks
- showSystemMessages — display system messages when taking photos (default: off)
- renderEntities — experimental entity rendering
- renderEntitiesAmount — number of entities to render (default: 20)
- fullbright — ignore light levels
- fov — field of view (30 to 110)
- biomeBlend — biome blending
- cameraItem — item used as camera model (
minecraft:spyglass
) - cameraConsumesItem — whether items are consumed during photography
- cameraConsumeItem — item to consume (
minecraft:map
) - commandPermissionLevel — permission level for commands (default: 2)
🎮 Control Commands
Main Commands:
/camera-obscura
— take a picture from the player's perspective and give them the map/camera-obscura <entity/player> <scale>
— photo from the specified entity's perspective, scale up to 3 (3×3 map)/camera-obscura save
— save the photo as PNG in therenders/
folder with a date-formatted filename/camera-obscura save <entity> <scale>
— photo of an entity with PNG saving, scale up to 10/camera-obscura clear-cache
— clear texture and model cache
Default image size is 128×128 pixels.
🔐 Permissions
Standard permission system is used:
camera-obscura.command
,camera-obscura.command.scale
camera-obscura.command.entity
,camera-obscura.command.entity.scale
camera-obscura.command.save
,camera-obscura.command.save.scale
camera-obscura.command.save.entity
,camera-obscura.command.save.entity.scale
camera-obscura.clear-cache
⚠️ Known Features
Some functions are under development:
- Entity rendering is slow and doesn't support all entities
- Liquids appear "blocky"
- Hard lighting
- End Gateway and portal blocks appear pure black
- Large models may get cut off
- Rendering issues at coordinates in the millions
The core functionality involves downloading game assets from Mojang's servers and rendering the world with ray tracing. The result is saved as either a map or PNG image.