
ConditionalVideos
Plays custom videos when specific in-game events are detected. It is designed for curated gameplay experiences such as servers, story maps, quest packs, and roleplay setups where cinematic feedback improves immersion.
Оцените первым
179
6
Список изменений
Changelog
1.3.0
Added
New condition types
totemUsed— plays when a Totem of Undying saves the player.bedSleep— plays when the player starts sleeping in a bed.itemObtained/<item>— plays when the player obtains a configured item (pickup, craft, or smelt result).itemCrafted/<item>— plays when an item is actually crafted (2×2 grid or crafting table); independent fromitemObtainedand never fired by pickups,/give, or smelting.recipeUnlocked/<recipe>— plays when a recipe is newly unlocked in the player's recipe book.scoreboard/<objective>— plays when a player's score satisfies a comparison. Supports the comparatorsequal,less,greater,lessOrEqual,greaterOrEqual(defaultgreaterOrEqual) via avalue+comparatorfield. Edge-triggered and re-armable (fires once on crossing, re-arms only after the comparison turns false), and persistent across reconnects (won't re-fire just because the score is still satisfied on rejoin).custom/<id>— a detector-less condition fired by the public API or theplaycommand.
Common configuration (conditionalvideos-common.json)
videoQuality(defaultAUTO) — strictly forces a quality on multi-variant sources, orAUTOfor best available.alwaysShowCursor(defaultfalse) — keeps the mouse cursor visible during playback.allowGameSounds(defaultfalse) — keeps vanilla sounds playing during a video.blockMatureContent(defaulttrue) — client-only mature-content blocking that a server cannot override; applies to both server-provided and local/singleplayer sources.
Server commands
/conditionalvideos play <targets> <condition>,stop <targets>, andpause <targets>(permission level 2+, usable from command blocks and the server console), with auto-completion for playable condition keys.
Public API
- A stable
org.mateof24.conditionalvideos.apipackage for other mods: register custom conditions, trigger/force/stop/pause playback (server- or client-side), query playback state, and subscribe to playback start/end events. See the Developer Wiki.
Playback & UI
- Playback queue — overlapping triggers are postponed and played in sequence instead of cutting each other off;
firstJoinis always guaranteed to play first. - Configurable skip key — a dedicated, rebindable skip key (default unbound, falling back to
ESC), with an on-screen hint that shows the active key. - Pause indicator — a pause icon shown while a video is paused.
- Singular/plural loading text — the loading screen reads
Loading video…orLoading videos…depending on playlist length. - Command and keybind strings localized in
en_us,es_es,es_ar,es_mx.
Changed
- Updated the WATERMeDIA API from
3.0.0.16to3.0.0.17. - Config schema
v2→v3— additive migration; existing entries and session history are preserved, new condition maps are created empty. - Cleaner default config — only
firstJoinships preconfigured; every other condition is written as an empty{}until you add videos. - Quieter console — native FFmpeg stream logging is lowered to error level, so playing streams no longer floods the console with HLS/TLS chatter (real errors are still shown).
- Startup performance — advancement detection is now event-driven (via the advancements packet) instead of scanning every advancement each tick, and the singleplayer config is cached briefly, reducing main-thread cost so early cinematics such as
firstJoinstart more smoothly.
Fixed
- Minecraft toast notifications (advancements, recipes, system) were drawn on top of the playback screen and obstructed it. They are now hidden while a video is playing and shown afterward (postponed, not lost).
- The second playback of a
videoLoop/playlistLoopURL video could stall for several seconds on a black screen each loop. The swap now happens as soon as the next clip is ready, making repeats near-instant. - With the
doImmediateRespawngamerule on, dying to a configured entity always fell back to the generic death video (or no video, if the generic one wasn't configured) because the killer was resolved after the player had already respawned. The killer is now captured at the moment of death. - When a video screen was replaced without closing normally, WATERMeDIA backends (textures / FFmpeg player / audio) were never released. Cleanup now runs on every screen removal.
Файлы
conditionalvideos-fabric-1.20.1-1.3.0.jar(163.20 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.3.0
Загрузчики
Fabric
Версии игры
1.20.1
Загрузок
7
Дата публикации
04.06.2026
