- Shell 51.5%
- Kotlin 48.5%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| data | ||
| gradle/wrapper | ||
| skills/system/run-workflow | ||
| src | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE.txt | ||
| README.md | ||
| settings.gradle.kts | ||
FishIntro
FishIntro is a lightweight Fabric mod that plays a configurable cinematic server intro cutscene for all online players, complete with smooth camera flights, native Minecraft text rendering and synchronized custom music.
The camera and timeline are server-synchronized. The narration is rendered with Minecraft's built-in
minecraft:uniformfont (GNU Unifont); no texture pack or custom image assets are required.
Features
- Server-Driven Camera Flights: Define multiple smooth camera flights with start/end coordinates, yaw, pitch, and optional duration weights.
- Narrative Scenes & Music: Displays configurable title/body scenes with fade transitions in the built-in GNU Unifont and plays synchronized intro music.
- Automatic State Restoration: Places players into spectator mode during the cutscene and restores their original position, gamemode, and abilities when finished or cancelled.
- LuckPerms Ready: Uses the Fabric Permissions API (
fish.intro) with an automatic fallback to vanilla OP levels.
Commands & Permissions
All commands require the permission fish.intro (configurable) or OP status (Level 3/4) if no permission plugin is installed.
For Team Members (fish.intro)
/intro start– Starts the cinematic intro cutscene for all online players./intro cancel– Immediately stops a running intro and restores all players to their previous state./intro reload– Reloadsconfig.json(camera flights, scenes, sound, and permissions) at runtime./intro world– Teleports builders into the separate void world (fish.intro.build)./intro world leave– Returns builders to the Overworld spawn./intro world flight– Lists all configured camera flights with index, start/end coordinates, and yaw/pitch./intro world flight <1-N> [start|end]– Teleports the builder directly to the start or end position and view angles (yaw/pitch) of the specified camera flight (also supports/intro world cameraand/intro world scene).
⚙️ Configuration
All configuration files are automatically generated and stored in config/fishintro/:
config.json– CustomizeintroPermission,durationSeconds(NebulaSMP default:193.0),cameraFlights,cameraInterpolationTicks,scenes,textFont(default:"minecraft:uniform"),sound,soundVolume,soundDelaySeconds(default:0.0), andrestoreGameMode.
The default NebulaSMP route is staged for a central spawn build: it starts above the abandoned city, sweeps past the old bank and arena, rises toward the Star Break, then returns to the first city wall for the final message. Place the corresponding ruins, banner, arena, warp pad and a visible central landmark around the camera route (roughly within 60 blocks of spawn), or adjust cameraFlights in config.json. The bundled fishintro:intro_world data pack creates the void dimension on server startup.