# JCinematic Plugin Documentation
## Overview
JCinematic is a powerful Minecraft plugin that allows server administrators and players to create, save, and play cinematic sequences within the game. This plugin is perfect for server intros, tours, storytelling, and creating immersive experiences for players.
Compatible with Minecraft versions 1.21.4 and 1.21.5, JCinematic offers smooth camera movements, customizable settings, and multi-language support.
## Features
- Record and Play: Record your movements and camera angles, then play them back as smooth cinematics
- Smooth Transitions: Advanced interpolation with Bezier curves for professional-looking camera movements
- Multi-language Support: Built-in support for English, Spanish, Russian, Japanese, and French
- Customizable Settings: Configure playback speed, camera locking, player visibility, and more
- Pause and Resume: Control recording with pause/resume functionality
- Admin Controls: Play cinematics for all players simultaneously
- Permissions System: Fine-grained control over who can use which features
## Installation
1. Download the JCinematic.jar file from https://www.spigotmc.org/resources/%E2%9C%85-jcinematic-%E2%9C%85-fluid-cinematics.120478/
2. Place the JAR file in your server's `plugins` folder
3. Restart your server
4. The plugin will generate default configuration files
## Configuration
JCinematic creates a configuration file at `plugins/JCinematic/config.yml` with the following options:
```yaml
# Game mode to return players to after cinematic ends
end-game-mode: SURVIVAL
# Speed of cinematic playback (lower = slower)
cinematic-speed: 3
# Show action bar with remaining time
show-action-bar: true
# Format for the action bar message
action-bar-format: "§eTime remaining: §a%seconds% seconds"
# Hide other players during cinematics
hide-other-players: true
# Lock camera during playback
lock-camera: true
# Enable smooth transitions between points
smooth-transitions: true
# Number of interpolation points between recorded locations
interpolation-points: 10
# Use Bezier curves for smoother paths
use-bezier-curves: true
# Use easing functions for more natural movement
use-easing: true
# Default language (en, es, ru, ja, fr)
default-language: en
Commands
/cinematic rec <duration> - Start recording a cinematic (requires cinematic.rec)
/cinematic save <name> - Save the recorded cinematic (requires cinematic.save)
/cinematic play <name> - Play a cinematic (requires cinematic.play)
/cinematic play <name> all - Play a cinematic for all players (requires cinematic.play.all)
/cinematic stop - Stop your current cinematic (requires cinematic.stop)
/cinematic stop all - Stop all cinematics on the server (requires cinematic.stop.all)
/cinematic lang <language> - Change your language (no permission required)
/cinematic reload - Reload the plugin configuration (requires cinematic.reload)
Permissions
cinematic.rec - Allows recording cinematics (default: op)
cinematic.save - Allows saving cinematics (default: op)
cinematic.play - Allows playing cinematics (default: op)
cinematic.play.all - Allows playing cinematics for all players (default: op)
cinematic.stop - Allows stopping cinematics (default: op)
cinematic.stop.all - Allows stopping cinematics for all players (default: op)
cinematic.reload - Allows reloading the plugin configuration (default: op)
Usage Guide
Recording a Cinematic
1. Use "/cinematic rec <duration>" to start recording (duration in seconds)
2. A countdown will begin before recording starts
3. Move around and look in the directions you want to record
4. Use the control item (clock) to pause/resume recording if needed
- Right-click: Pause recording
- Left-click: Resume recording
5. After the duration ends, recording will stop automatically
6. Use "/cinematic save <name>" to save your recording
Playing a Cinematic
1. Use "/cinematic play <name>" to play a saved cinematic
2. The player will be put in spectator mode and follow the recorded path
3. After the cinematic ends, the player will be returned to their original location and game mode
4. Use "/cinematic stop" to end the cinematic early
Administrator Usage
- Use "/cinematic play <name> all" to play a cinematic for all online players
- Use "/cinematic stop all" to stop all currently playing cinematics
- Use "/cinematic reload" to reload the configuration after making changes
Language Support
JCinematic supports multiple languages. Players can change their language with:
/cinematic lang <language>
Available languages:
- English (en)
- Spanish (es)
- Russian (ru)
- Japanese (ja)
- French (fr)
Advanced Features
Smooth Transitions
The plugin uses advanced interpolation techniques to create smooth camera movements:
Linear Interpolation: Creates direct paths between recorded points
Bezier Curves: Creates curved paths for more natural movement
Easing Functions: Adjusts speed at the beginning and end of movements
These can be configured in the config.yml file.
Control Item
During recording, players receive a clock item that can be used to:
Right-click: Pause recording
Left-click: Resume recording
Troubleshooting
Common Issues
1. Cinematic not found: Make sure you've saved the cinematic with the correct name
2. Permission errors: Check that players have the correct permissions
3. Jerky movements: Increase the interpolation-points value in the config
Error Reporting
If you encounter bugs or issues, please report them to [GitHub/Issue Tracker] with:
- Server version
- Plugin version
- Error messages (if any)
- Steps to reproduce the issue
Developer API
JCinematic provides an API for developers to integrate with other plugins. Example usage:
// Get the JCinematic instance
JCinematic cinematicPlugin = (JCinematic) Bukkit.getPluginManager().getPlugin("JCinematic");
// Play a cinematic for a player
cinematicPlugin.playCinematicForPlayer(player, "cinematicName");
// Stop a cinematic for a player
cinematicPlugin.stopCinematicForPlayer(player);