All versions
0.3.0
Beta
Lumière Play 0.3.04 months ago 97
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Client and server
Required content
Any compatible version
Changes
v0.3.0 — Stability, Access Control & Redstone
🔴 Redstone Support
- Projector now responds to redstone signals
- Rising edge (signal on) → starts playback if a URL is set
- Falling edge (signal off) → pauses playback
- Works with buttons, levers, pressure plates, comparators — any redstone source
- Does not interfere with manual GUI control
- ⚡ indicator shown in GUI when block is powered
🔒 Access Control
- New Access setting in the projector GUI (owner only)
- Three modes: All (default) / Owner / Ops
- All — any player can control the projector (backward compatible with v0.2.x worlds)
- Owner — only the player who placed the block
- Ops — owner or any operator (permission level 2+)
- Server-side validation — unauthorized packets are silently rejected
- Pre-v0.3.0 blocks without an owner automatically use All mode
🔁 Auto-Retry
- Stream drops are now automatically recovered
- 3 retry attempts with exponential backoff: 2s → 5s → 15s
- Applies to platform streams (YouTube, Twitch, VK, etc.) — not local files
- After 3 failed attempts the projector shows an error screen until manually replayed
🖥️ Status Screens
- Projector screen now shows colored status before and during load
- 🟣 Resolving — yt-dlp is fetching the stream URL
- 🔵 Loading — ffmpeg/VLC pipeline is buffering
- 🔴 Error — playback failed
- Status screens no longer interrupt live video during HLS segment buffering
⚡ Performance
- Frustum culling — projector quad is skipped when off-screen
- Lazy VLC pause — projectors beyond 96 blocks are automatically paused, resumed on approach
🇷🇺 На русском
🔴 Поддержка редстоуна
- Проектор теперь реагирует на редстоун сигнал
- Передний фронт (сигнал подан) → запускает воспроизведение если задан URL
- Задний фронт (сигнал снят) → ставит на паузу
- Работает с кнопками, рычагами, нажимными плитами, компараторами — любыми источниками
- Не мешает ручному управлению через GUI
- Индикатор ⚡ в GUI когда блок запитан
🔒 Права доступа
- Новая настройка Доступ в GUI проектора (только для владельца)
- Три режима: All (по умолчанию) / Owner / Ops
- All — любой игрок может управлять проектором (обратная совместимость с мирами v0.2.x)
- Owner — только игрок установивший блок
- Ops — владелец или любой оператор (уровень прав 2+)
- Валидация на сервере — неавторизованные пакеты отклоняются
- Блоки без владельца (созданные до v0.3.0) автоматически получают режим All
🔁 Авто-восстановление
- Обрывы стрима теперь восстанавливаются автоматически
- 3 попытки с нарастающей задержкой: 2с → 5с → 15с
- Только для платформенных стримов (YouTube, Twitch, VK и др.) — локальные файлы не затронуты
- После 3 неудач проектор показывает экран ошибки до ручного нажатия Play
🖥️ Экраны статуса
- Проектор теперь показывает цветной статус до и во время загрузки
- 🟣 Resolving — yt-dlp получает ссылку на стрим
- 🔵 Loading — pipeline ffmpeg/VLC буферизирует
- 🔴 Error — воспроизведение завершилось ошибкой
- Экраны статуса больше не перекрывают живое видео во время буферизации HLS сегментов
⚡ Производительность
- Frustum culling — quad проектора не рендерится когда вне поля зрения
- Lazy VLC pause — проекторы дальше 96 блоков автоматически ставятся на паузу, возобновляются при приближении
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1XgPBDMh:CYHE0Aso"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1XgPBDMh:CYHE0Aso"
}

