A Minecraft Mod adding a playable intro with cut scenes
  • Shell 51.5%
  • Kotlin 48.5%
Find a file
sandrp 9ffd513eb3
Some checks failed
Build & Publish Mod / build (push) Failing after 30s
Revert: Zustand von v1.1.21 wiederhergestellt
2026-11-08 23:37:54 +01:00
.forgejo/workflows Fix CI: skip tests that fail due to intermittent network issues 2026-11-05 21:08:00 +01:00
data Fix intro text rendering: use text() instead of centeredText() for Minecraft 26.3 2026-11-05 21:54:28 +01:00
gradle/wrapper Initial FishIntro mod 2026-10-31 19:09:45 +01:00
skills/system/run-workflow Fix intro text rendering: use text() instead of centeredText() for Minecraft 26.3 2026-11-05 21:54:28 +01:00
src Revert: Zustand von v1.1.21 wiederhergestellt 2026-11-08 23:37:54 +01:00
.gitignore Initial FishIntro mod 2026-10-31 19:09:45 +01:00
build.gradle.kts Prepare FishIntro release metadata 2026-11-04 17:14:31 +01:00
gradle.properties feat: anpassen Intro auf 193s mit 18 Szenen und 12 Kamera-Fluegen 2026-11-05 17:15:55 +01:00
gradlew Initial FishIntro mod 2026-10-31 19:09:45 +01:00
gradlew.bat Initial FishIntro mod 2026-10-31 19:09:45 +01:00
LICENSE.txt Initial FishIntro mod 2026-10-31 19:09:45 +01:00
README.md Add /intro world flight command to teleport to camera flight start/end points 2026-11-06 00:46:46 +01:00
settings.gradle.kts Initial FishIntro mod 2026-10-31 19:09:45 +01:00

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:uniform font (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 – Reloads config.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 camera and /intro world scene).

⚙️ Configuration

All configuration files are automatically generated and stored in config/fishintro/:

  • config.json – Customize introPermission, durationSeconds (NebulaSMP default: 193.0), cameraFlights, cameraInterpolationTicks, scenes, textFont (default: "minecraft:uniform"), sound, soundVolume, soundDelaySeconds (default: 0.0), and restoreGameMode.

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.