1.10.4latestDream Displays 1.10.4 Release — Paper 1.21+yesterday Highlights
- Selection particles now work onFabricandNeoForgeservers too - FixedQuiltsupport, both single-player and server - Fixed missing chat colors in single-player - Minor codebase, API improvements and other fixesClient
Features
- API: addeddependsOnto@Addon: an addon is enabled after the addons it depends on and disabled before themImprovements
- Updated dependencies - Minor codebase improvements - Minor improvements in API docsFixes
- FixedDream Displays' single-player not working onQuilt- Fixed the crosshair and HUD not hiding when looking at a display on26.1.2- Removed a harmless "missing class" warning at startup on 1.21.1 - FixedDream Displayschat messages losing their colors in single-playerServer
Features
- Selection particles now also work onFabricandNeoForgeserversImprovements
- Minor codebase improvementsFixes
- FixedDream Displays' server side not starting onQuilt- Fixedparticles_colorbeing ignored: the selection outline was always cyan1.10.3Dream Displays 1.10.3 Release — Paper 1.21+5 days ago Highlights
- Synced playback now survives the Atlantic: no more endless skipping on slow or far-away connections - Fixed "Unrecoverable stream failure" for Google Drive - Minor codebase improvementsClient
Improvements
- Better transatlantic synchronization: - A synced display learns how long a jump takes on your connection and aims far enough ahead to land on time - If jumps still keep landing behind, it waits longer between them and accepts a few seconds of delay instead of skipping again and again - Seeking in long Google Drive videos is about 3x fasterFixes
- Fixed synced videos skipping forward over and over (and sometimes never starting) when the video host is far away, e.g. American services for players in Europe - Fixed "Unrecoverable stream failure" for Google Drive ([#261](https://github.com/arnodoelinger/dreamdisplays/issues/261))Server
Improvements
- Everyone starts together: a new video on aSyncedorBroadcastdisplay waits 5 seconds so every viewer can buffer first, then starts for all at once - Less network traffic for big audiences: synced displays send a keep-alive every 5 seconds instead of every 2 (pause, seek and video changes are still sent instantly) - Minor codebase improvements1.10.2Dream Displays 1.10.2 Release — Paper 1.21+last week Highlights
- Experimental addons: you can build your ownFabric/NeoForgemod orPaperaddon - A much simpler experimental developer APIClient
Features
- Experimental addons: - Mark a class with@Addonand register it withDreamDisplays.register(...)- Works on the client, the server, or both - Everything an addon subscribes to is cleaned up automatically when it is disabledImprovements
- Much simpler developer API: - One entry point,DreamDisplays, instead of a set of service keys - A display is now a live object:display.volume = 0.5f,display.play(),display.seek(30_000)- Act on many displays at once:DreamDisplays.displays.near(x, y, z, 32.0).pause()- Subscriptions are grouped in a session and closed together; per-display ones end when the display is removed - Commands return a clear result, and a removed display never crashes your code -onReady { }lets your code wait untilDream Displayshas loaded - API for moving displays:DreamDisplays.placementstellsDream Displayswhere a display really is, and it is drawn, heard, clicked and culled there - API for addon data on displays (display.customData) and public display position math - The API is published as a separate artifact with sources, and now contains only what integrations can useFixes
- API methods no longer have unreadable names in some casesServer
Features
- Server API forPaper,FabricandNeoForge- Support experimental addons1.10.1Dream Displays 1.10.1 Release — Paper 1.21+last week Highlights
- Much better performance with many displays at once - YouTube videos start and seek up to 5x faster -Youerserver crash fixClient
Improvements
- YouTube videos start up to 5x faster: the picture no longer freezes on its first frame while the sound loads - Seeking in YouTube videos resumes up to 5x faster - Videos from every source start a bit faster: sound and picture now load at the same time - Displays you are not looking at are no longer drawn or uploaded to the GPU - Far and small displays now play at a lower resolution automaiccally - Up to 9x less memory per far display, plus a shared memory limit for all displays - Up to 30% less CPU for software video decoding when several displays play at once - 4–10x fewer raycasts for 3D sound, and none at all for muted displays - On 26.2 and newer, displays no longer create new GPU buffers every frameFixes
- Fixed displays withAutoquality staying at a lower resolution after you walked away and came back - Fixed the sound of some YouTube videos failing with a 403 error, which made the whole video reloadServer
Fixes
- FixedYouerserver crash ([#257](https://github.com/arnodoelinger/dreamdisplays/issues/257))1.10.0Dream Displays 1.10.0 Release — Paper 1.21+2 weeks ago Highlights
- Curved displays: place them on stairs and slabs - Subtitles support - Keyboard shortcuts in the display menu -WorldGuardsupport, with three access levels:Everyone,Region membersandLocked-ClothConfigsupport (settings screen) - Players without the mod can now joinFabricservers runningDream Displays- MajorTwitchplayback stability improvements - Smoother playback, faster seeking, and lower CPU usage - Volume normalization - Support for Minecraft 26.3 - Improved/displaycommand suggestions -/display fullscreennow works in command blocks and the server console - Simplified Chinese translation - Dropped packet protocol v1 support - Various fixes for display synchronization and playbackClient
Features
- Curved displays: now you can place them on stairs and slabs (server 1.10.0 or higher required) - Added keyboard shortcuts to the display menu: -Space: play / pause -←/→: seek 5 seconds back / forward (15 seconds withShift) -↑/↓: volume up / down by 5% (10% withShift) -M: mute / unmute -0–9: jump to 0%–90% of the video -F: fullscreen -P:Picture-in-Picture- Added subtitles support - Added support forWorldGuard([#194](https://github.com/arnodoelinger/dreamdisplays/issues/194)) - Replaced the display lock with three access levels:Everyone,Region members(WorldGuard) andLocked- Removed the per-display render distance setting; displays now use the client's render distance instead - Added Simplified Chinese translation ([#180](https://github.com/arnodoelinger/dreamdisplays/pull/180)) - Added experimental support for 26.3 - Now you can joinFabricrunningDream Displaysservers withoutDream Displaysinstalled (server 1.10.0 or higher required) - Improved/displaycommand suggestions and tab completion - Added volume normalization - Added a settings screen, opened fromMod MenuonFabricor the mod list onNeoForge(needsCloth Config) - Dropped packet protocol v1 support: players can no longer join on servers with an ancient versionImprovements
- Reduced CPU usage of video playback, especially on 4K videos - Reduced CPU usage whilePicture-in-Pictureor the menu preview is open, and for paused displays or displays out of render distance - Smoother video playback: each frame is now picked at the moment the game draws it, which removes micro-stutters - Faster seeking: playback resumes as soon as both picture and sound are ready instead of after a fixed buffer - Videos start a bit faster when several displays are loading at once - Subtitles now load right away, even when many displays are loading at once - Unstable streams now retry with growing pauses and show an error if they keep failing, instead of reloading forever - Displays are now bounded by the simulation distance when it is shorter than the render distance - Displays are now unaffected by outlines, and the vanilla block selection outline is hidden over displays - Added stable support ofWindowmode on macOS -Twitchstability improvements - Improved stability during long watching sessionsFixes
- Fixed the game freezing when entering a world on some Windows setups ([#227](https://github.com/arnodoelinger/dreamdisplays/issues/227)) - Fixed the game crashing on Linux when opening the display menu while a video is playing ([#229](https://github.com/arnodoelinger/dreamdisplays/issues/229)) - Fixed the game crashing when the server crashes while a display is playing - Fixed paused displays sometimes switching to "Waiting for video..." after a while ([#228](https://github.com/arnodoelinger/dreamdisplays/issues/228)) - Fixed the game crashing on 26.3 when a display is in view withImproved Transparencyturned on ([#244](https://github.com/arnodoelinger/dreamdisplays/issues/244)) - Fixed displays turned off with/display offnot turning back on after rejoining the world, and turning back on by themselves after a game restart ([#243](https://github.com/arnodoelinger/dreamdisplays/issues/243)) - Fixed videos from plainhttp://links not playing, with "Option tls_verify not found" in the log ([#246](https://github.com/arnodoelinger/dreamdisplays/issues/246)) - Fixed videos getting stuck at the end, with play / pause doing nothing until another video was selected ([#234](https://github.com/arnodoelinger/dreamdisplays/issues/234)) - Fixed emojis in video and stream titles showing up as boxes; they are now hidden ([#232](https://github.com/arnodoelinger/dreamdisplays/issues/232)) - Fixed a video jumping back to the start on some GPUs right after starting or rejoining - Fixed a glitched first frame when openingPicture-in-Pictureor the menu preview during playback - Fixed a video sometimes never starting to load because a background check hung - Fixed playback restarting itself a second after start when the first frame took longer to arrive - Fixed the paused frame being lost when a timeline seek lands during pause - Fixed volume and brightness showing odd values like 194% instead of 195% - FixedTwitchstreams starting with a 30 second "Commercial Break in Progress" screen ([#231](https://github.com/arnodoelinger/dreamdisplays/issues/231)) - FixedTwitchsound breaking up into short chunks and the picture stuttering after a stall or an ad break ([#231](https://github.com/arnodoelinger/dreamdisplays/issues/231)) - FixedTwitchsound sometimes running a couple of seconds behind the picture - Fixed manyTwitchchannels playing without sound and restarting over and over - Fixed live streams sometimes taking 20 seconds of black screen to start on synced displays - Fixed bad command suggestion syntax after creating a displayServer
Features
- Added curved displays support - Dropped packet protocol v1 support: ancient client versions are no longer supported - AddedWorldGuardsupport and improved access logic ([#194](https://github.com/arnodoelinger/dreamdisplays/issues/194)) - Added Simplified Chinese translation ([#180](https://github.com/arnodoelinger/dreamdisplays/pull/180)) - Added experimental support for 26.3 - Players without the mod now can joinFabricservers that haveDream Displaysinstalled -/display fullscreennow supported for command blocks and the server console ([#248](https://github.com/arnodoelinger/dreamdisplays/issues/248))Improvements
-/displaytab completion now covers every command and argument - Improved the hint shown when creating a display, which now points at sneak + right click - Displays are now bounded by the simulation distance when it is shorter than the render distance - AddedWorldGuardas an optional dependency in the workflow - AddedLuckPermsas an optional dependency for proxy in the workflowFixes
- Fixed duplicated displays across servers when using a proxy - Fixeddefault_volumenot applying to newly created displays (0was dropped on the wire; 50 now matches the 50% client slider) - FixedFabricandNeoForgeservers crashing on startup when another mod that also bundles SQLite is installed ([#242](https://github.com/arnodoelinger/dreamdisplays/issues/242)) - Fixed/display onanswering "already enabled" and doing nothing for players who rejoined with displays turned off ([#243](https://github.com/arnodoelinger/dreamdisplays/issues/243)) - Filtered out drop-column statements during schema migration - Fixed the database connection pool leaking on plugin reload - Fixed coroutine error when stopping the server - Fixed rarebStatsJSON warnings1.10.0-preview.4Dream Displays 1.10.0 Preview 4 — Paper 1.21+2 weeks ago Highlights
- MajorTwitchplayback stability improvements - Players without the mod can now joinFabricservers runningDream Displays- Volume normalization - Improved/displaycommand suggestions -/display fullscreennow works in command blocks and the server console - Fixed a crash on Minecraft 26.3 withImproved Transparencyenabled - Fixed several display synchronization and playback issuesClient
Features
- Now you can joinFabricrunningDream Displaysservers withoutDream Displaysinstalled (server 1.10.0 Preview 4 or higher required) - Improved/displaycommand suggestions and tab completion - Volume normalizationImprovements
-Twitchstability improvementsFixes
- Fixed paused displays sometimes switching to "Waiting for video..." after a while ([#228](https://github.com/arnodoelinger/dreamdisplays/issues/228)) - Fixed the game crashing on 26.3 when a display is in view withImproved Transparencyturned on ([#244](https://github.com/arnodoelinger/dreamdisplays/issues/244)) - Fixed displays turned off with/display offnot turning back on after rejoining the world, and turning back on by themselves after a game restart ([#243](https://github.com/arnodoelinger/dreamdisplays/issues/243)) - Fixed videos from plainhttp://links not playing, with "Option tls_verify not found" in the log ([#246](https://github.com/arnodoelinger/dreamdisplays/issues/246)) - FixedTwitchstreams starting with a 30 second "Commercial Break in Progress" screen ([#231](https://github.com/arnodoelinger/dreamdisplays/issues/231)) - FixedTwitchsound breaking up into short chunks and the picture stuttering after a stall or an ad break ([#231](https://github.com/arnodoelinger/dreamdisplays/issues/231)) - FixedTwitchsound sometimes running a couple of seconds behind the picture - Fixed manyTwitchchannels playing without sound and restarting over and over - Fixed live streams sometimes taking 20 seconds of black screen to start on synced displaysServer
Features
- Players without the mod now can joinFabricservers that haveDream Displaysinstalled -/display fullscreennow supported for command blocks and the server console ([#248](https://github.com/arnodoelinger/dreamdisplays/issues/248))Improvements
-/displaytab completion now covers every command and argumentFixes
- FixedFabricandNeoForgeservers crashing on startup when another mod that also bundles SQLite is installed ([#242](https://github.com/arnodoelinger/dreamdisplays/issues/242)) - Fixed/display onanswering "already enabled" and doing nothing for players who rejoined with displays turned off ([#243](https://github.com/arnodoelinger/dreamdisplays/issues/243))1.10.0-preview.3Dream Displays 1.10.0 Preview 3 — Paper 1.21+4 weeks ago Highlights
- Curved displays - Dropped packet protocol v1 support - Keyboard shortcuts in the display menu - Playback stability fixes - Some fixes and minor improvementsClient
Features
- Curved displays: now you can place them on stairs and slabs (server 1.10.0 Preview 3 or higher required) - Dropped packet protocol v1 support: players can no longer join on servers with an ancient version - Added keyboard shortcuts to the display menu: -Space: play / pause -←/→: seek 5 seconds back / forward (15 seconds withShift) -↑/↓: volume up / down by 5% (10% withShift) -M: mute / unmute -0–9: jump to 0%–90% of the video -F: fullscreen -P:Picture-in-PictureImprovements
- Reduced CPU usage whilePicture-in-Pictureor the menu preview is open, especially on 4K videos - Reduced CPU usage of paused displays and displays out of render distance - Smoother video playback: each frame is now picked at the moment the game draws it, which removes micro-stutters - Faster seeking: playback resumes as soon as both picture and sound are ready instead of after a fixed buffer - Videos start a bit faster when several displays are loading at once - Unstable streams now retry with growing pauses and show an error if they keep failing, instead of reloading forever - Subtitles now load right away, even when many displays are loading at once - Improved stability during long watching sessionsFixes
- Fixed the game freezing when entering a world on some Windows setups ([#227](https://github.com/arnodoelinger/dreamdisplays/issues/227)) - Fixed the game crashing on Linux when opening the display menu while a video is playing ([#229](https://github.com/arnodoelinger/dreamdisplays/issues/229)) - Fixed videos getting stuck at the end with play / pause doing nothing until another video was selected ([#234](https://github.com/arnodoelinger/dreamdisplays/issues/234)) - Fixed emojis in video and stream titles showing up as boxes; they are now hidden ([#232](https://github.com/arnodoelinger/dreamdisplays/issues/232)) - Fixed a video jumping back to the start on some GPUs right after starting or rejoining - Fixed volume and brightness showing odd values like 194% instead of 195% - Fixed a glitched first frame when openingPicture-in-Pictureor the menu preview during playback - Fixed videos sometimes never starting to load because a background check hungServer
Features
- Curved displays support - Dropped packet protocol v1 support: ancient client versions are no longer supported1.10.0-preview.2Dream Displays 1.10.0 Preview 2 — Paper 1.21+Sep 15, 2026 Highlights
- Added experimental support for 26.3 version - Fixed duplicated displays on proxy - Minor rendering fixes and other improvementsClient
Features
- Added experimental support for 26.3 versionImprovements
- Added stabile support ofWindowmode on macOSFixes
- Fixed a bug where changing the GUI scale while watching a Picture-in-Picture video caused the video to render incorrectly - Fixed on the end of some subtitles - Fixed subtitles blinkingServer
Features
- Added experimental support for 26.3 versionImprovements
- AddedWorldGuardas an optional dependency in workflow - AddedLuckPermsas an optional dependency for proxy in workflowFixes
- Fixed duplicated displays across servers when using proxy - Fixeddefault_volumenot applying to newly created displays (0was dropped on the wire; 50 now matches the 50% client slider)1.10.0-preview.1Dream Displays 1.10.0 Preview 1 — Paper 1.21+Sep 7, 2026 Highlights
- Subtitles support - AddedWorldGuardsupport - Replaced the display lock with three access levels:Everyone,Region members(WorldGuard) andLocked- Added Simplified Chinese translation - Fixes and improvements (like CPU reduction and displays being unaffected by outlines)Client
Features
- Added subtitles support - Added support forWorldGuard([#194](https://github.com/arnodoelinger/dreamdisplays/issues/194)) - Replaced the display lock with three access levels:Everyone,Region members(WorldGuard) andLocked- Removed per-display render distance setting; now displays use client's render distance instead - Added Simplified Chinese translation ([#180](https://github.com/arnodoelinger/dreamdisplays/pull/180))Improvements
- Reduced CPU use of video playback - Now displays are unaffected by outlinesFixes
- Fixed playback restarting itself a second after start when the first frame took longer to arrive - Fixed the game crashing when the server crashes while a display is playing - Fixed bad command suggestion syntax after creating a displayServer
Features
- Added support forWorldGuard([#194](https://github.com/arnodoelinger/dreamdisplays/issues/194)) - Added Simplified Chinese translation ([#180](https://github.com/arnodoelinger/dreamdisplays/pull/180))Fixes
- Filter out drop-column statements during schema migration - Fixed the database connection pool leaking on plugin reload - Fixed coroutine error when stopping the server - Fixed rarebStatsJSON warnings1.9.6Dream Displays 1.9.6 Release — Paper 1.21+Sep 1, 2026 Highlights
- Minor display menu improvements and fixes - Fixed bad selection logic when trying to create a display - Fixed the picked audio track (language) not being remembered after rejoining - Codebase improvements, minor refactor and updated dependenciesClient
Improvements
- Improved video suggestions panel scale on high GUI scale - Next suggestions now loads earlier instead of right before you hit the end - Smoother scrolling for video suggestions and the audio track dropdown - Enhanced versionizing mechanism ([#210](https://github.com/arnodoelinger/dreamdisplays/pull/210)) - Codebase style improvements and minor refactor - UpdatedFFmpegfrom 8.1.0 to 9.0.0 - Updated project dependenciesFixes
- Fixed the picked audio track (language) not being remembered after rejoining, and videos now load directly on that track instead of switching to it right after starting - Fixed no audio for players whose network setup can't reach the TLS ([#209](https://github.com/arnodoelinger/dreamdisplays/issues/209)) - Fixed videos failing to play entirely for players running an HTTP(S) proxy ([#218](https://github.com/arnodoelinger/dreamdisplays/issues/218)) - Fixed HUD elements (hotbar, health / hunger, chat, minimaps, ...) staying visible over fullscreen videos ([#213](https://github.com/arnodoelinger/dreamdisplays/issues/213)) - Fixed fullscreen videos looping forever even without the looped flag ([#214](https://github.com/arnodoelinger/dreamdisplays/issues/214)) - Pressing Esc on a non-forced fullscreen video now fully stops it (audio included) instead of just hiding it and reappearing on rejoin ([#215](https://github.com/arnodoelinger/dreamdisplays/issues/215)) (server must be 1.9.6 or higher) - Fixed suggestion thumbnails looking squashed on a squeezed strip on high GUI scale - Fixed suggestion cards touching the scrollbar with no breathing room on a squeezed strip on high GUI scale - Fixed video suggestions being covered by a black bar on1.21.1([#208](https://github.com/arnodoelinger/dreamdisplays/issues/208)) - Use actual clicked block face for selection instead of player look direction ([#217](https://github.com/arnodoelinger/dreamdisplays/pull/217)) (server must be 1.9.6 or higher) - Resolve other platforms than YouTube using/display videocommand ([#207](https://github.com/arnodoelinger/dreamdisplays/pull/207)) (server must be 1.9.6 or higher)Server
Fixes
- Use actual clicked block face for selection instead of player look direction ([#217](https://github.com/arnodoelinger/dreamdisplays/pull/217)) - Resolve other platforms than YouTube using/display videocommand ([#207](https://github.com/arnodoelinger/dreamdisplays/pull/207)) - Pressing Esc on a non-forced fullscreen video now fully stops the session once nobody's left watching, instead of leaving it dismissed-but-alive to reappear on rejoin ([#215](https://github.com/arnodoelinger/dreamdisplays/issues/215))1.9.5Dream Displays 1.9.5 Release — Paper 1.21+Aug 27, 2026 Highlights
- Enhanced README file - Rendering enhancements and fixes -NeoForgesqlite-jdbcfixClient
Improvements
- Enhanced README file ([#186](https://github.com/arnodoelinger/dreamdisplays/pull/186))Fixes
- Fixed displays turning into a black rectangle when seen through water or glass - Fixed persistently mapped PBO frame uploads occasionally corrupting or freezing display textures on Windows ([#199](https://github.com/arnodoelinger/dreamdisplays/issues/199))Server
Fixes
- Fixed theNeoForgeserver failing to start with a module resolution error when another mod also bundlessqlite-jdbc([#201](https://github.com/arnodoelinger/dreamdisplays/issues/201))1.9.4Dream Displays 1.9.4 Release — Paper 1.21+Aug 23, 2026 Highlights
- Added support for Bilibili bangumi URLs (episodes and seasons / movies) - Some visual and config fixesClient
Improvements
- Added support for Bilibili bangumi URLs (episodes and seasons / movies) ([#188](https://github.com/arnodoelinger/dreamdisplays/issues/188))Fixes
- Fixed displays created in one dimension appearing at the same coordinates in every other dimension ([#192](https://github.com/arnodoelinger/dreamdisplays/issues/192))Server
Fixes
- Fixed server config default volume not applied correctly ([#190](https://github.com/arnodoelinger/dreamdisplays/issues/190)) - Fixed user-edited language files being overwritten on every server start / reload1.9.3Dream Displays 1.9.3 Release — Paper 1.21+Aug 20, 2026 Highlights
- Hotfix: fixed displays being visible through blocks and losing their fog - Fixed "Couldn't place player in world" error on someFabric/NeoForgeservers - Live streams fixesClient
Improvements
- Enlarged default Picture-in-Picture mode from 25% to 33% of screen width - Improved shader support (now displays use shader's fog) - Updateyt-dlpbinary every day instead of once per weak - Shortened the drop-out when a live stream stops serving segments - BumpedNewPipeExtractorversionFixes
- Fixed displays being visible through blocks and losing their fog - Fixed live streams jittering inSynced/Broadcastplayback mode ([#191](https://github.com/arnodoelinger/dreamdisplays/issues/191)) - Keep live streams playing past the first manifest and stop timeline drift correction on them ([#191](https://github.com/arnodoelinger/dreamdisplays/issues/191))Server
Fixes
- Fixed "Couldn't place player in world" error on someFabric/NeoForgeservers1.9.2Dream Displays 1.9.2 Release — Paper 1.21+Aug 19, 2026 Highlights
- Performance improvements to frame scaling and pause / resume - Displays now render on top of shaders instead of being affected by them - Some improvements like a crash on newerVelocityversions - Minor fixes and codebase refactoringClient
Improvements
- Displays are no longer affected by shaders - Pausing and resuming playback is now instant - YouTube connections are pre-warmed on server join, cutting the delay before the first frame resolves - Frame scaling now runs band-parallel across cores instead of on a single core - AddedLuckPermsas an optional dependency in the release workflow - Removed unused suppression annotations and refactored minor stuff ([#183](https://github.com/arnodoelinger/dreamdisplays/pull/183)) - General codebase improvements ([#184](https://github.com/arnodoelinger/dreamdisplays/pull/184))Fixes
- Fixed clock jumps when pausing - Fixed a frame nudge / jump right after resuming from pause - Fixed duplicated translations on CrowdinServer
Fixes
- FixedVelocitysupport by using the correct inject annotation for newer versions ([#182](https://github.com/arnodoelinger/dreamdisplays/pull/182))1.9.1Dream Displays 1.9.1 Release — Paper 1.21+Aug 14, 2026 Highlights
- Native playback improvements, more smooth playback and near-instant seeking - Low connection client improvements - Minor fixes and improvementsClient
Improvements
- Native playback improvements - Seeking is now near-instant, even when jumping far ahead or across a long video - Videos now start playing with a small head start instead of racing the stream from the first frame, so an uneven connection no longer shows up as stutter - Reduced the CPU work a playing display costs per video frame - Stability improvements for low connection clients - Security improvements for custom media - Updated project dependencies and its usages - Simplified codebase documentation - Some codebase improvements and refactoringFixes
- Fixed stuttering during the first seconds of playback, and again for several seconds after each seek - Fixed the picture freezing, or crawling at a few frames per second, whenever playback fell behind the sound - Fixed playback occasionally stopping with an unrecoverable stream error after seekingServer
Improvements
- Security improvements for custom media1.9.0Dream Displays 1.9.0 Release — Paper 1.21+Aug 10, 2026 Highlights
- Custom media support: paste a direct link, or file-host (Google Drive, Dropbox, imgur, etc.) share link, and play it on a display - Full Twitch, Vimeo, Kick, and Bilibili support -NeoForgeserver support, including single-player - NewFullscreenandBorderlessdisplay modes, with a new/display fullscreencommand for events and presentations - Proxy support:Bungeecord&Velocityfor all popular server software - 3D acoustics for displays: occlusion, air absorption, and raytraced room reverb - Audio track selector: select your language right in the display menu! - Filter button: filter out unwanted suggestions - New/display scheduleand/display namecommands - FullLuckPermssupport onFabric/NeoForgeservers - Added YouTube chapter markers - ImprovedDream Displayswiki - Various other fixes and improvementsClient
Features
-NeoForgeserver support (including single-player) ([#95](https://github.com/arnodoelinger/dreamdisplays/issues/95)) - Full Twitch support - New Borderless and Fullscreen display modes, with a new/display fullscreencommand for events and presentations ([#135](https://github.com/arnodoelinger/dreamdisplays/pull/135)) - Added custom video support and file-host share link support (Google Drive, Dropbox, imgur, etc.) — paste a direct link to any video and play it on a display (server must be 1.9.0 or higher) - Added Twitch, Kick, Vimeo, and Bilibili support ([#129](https://github.com/arnodoelinger/dreamdisplays/pull/129), [#129](https://github.com/arnodoelinger/dreamdisplays/pull/156), [#173](https://github.com/arnodoelinger/dreamdisplays/issues/173)) - Added 3D acoustics for displays: sound is muffled by walls (occlusion), loses highs over distance (air absorption), and picks up room / cave reverberation raytraced from nearby blocks and their material; e.g., stone reflects, wool absorbs ([#147](https://github.com/arnodoelinger/dreamdisplays/pull/147)) - Added an audio track selector, so you can pick your language right in the display menu ([#149](https://github.com/arnodoelinger/dreamdisplays/pull/149)) - Added/display schedulecommand to schedule a video to play at a specific time - Added/display namecommand ([#151](https://github.com/arnodoelinger/dreamdisplays/pull/151)) - Changed some display commands syntax: now you can choose the display by its ID or by looking at it and typing "this" - Added support for saving and restoring the last known playback position everywhere, and each display's custom render distance across game restarts - Added distance-based quality: a display now steps its video quality down as you move away from it (one step at 66% of its render distance, two steps at 75%) - Added YouTube chapter markers - Added a filter button - Added click sounds when clicking buttons in the display menu - Gray-out only seekbar and near buttons when the display isn't ready yet, instead of the whole menu - Added [Crowdin](https://crowdin.com/project/dreamdisplays) integration ([#141](https://github.com/arnodoelinger/dreamdisplays/pull/141)) - Brought backNeoForge1.21.11 releases to the [corporate ad dispenser](https://www.curseforge.com/)Improvements
- Improved displays performance ([#131](https://github.com/arnodoelinger/dreamdisplays/pull/131)) - Reduced native decode-path overhead on every frame, for smoother in-process playback - Increased stall watchdog threshold from 30 to 45 seconds to avoid false positives on slow networks - Added scrubbing preview on the seek bar (frame preview on hover) - Repeat all videos for all platforms on every playback mode (server must be 1.9.0 or higher) - Renamed theSynchronizationsetting toPlayback modeand its tooltip now briefly explains each mode (Local,Synced,Broadcast) - Default video quality is now 1080p instead of 720p, falling back to the closest available lower quality when 1080p isn't offered - Raised theBroadcastquality cap from 360p to 720p - The quality performance warning in the display menu now only appears above 1080p instead of at 1080p and up - Enhanced UI components ([#148](https://github.com/arnodoelinger/dreamdisplays/pull/148)) - Now recommendations are endlessly scrolling - Enhanced ambient grid ([#136](https://github.com/arnodoelinger/dreamdisplays/pull/136)) - All sliders now have snap behavior and fixed subdivisions for better precision - Improved popout context menu positioning - Improved scrollbars: now you can drag them - Retry on "Not all references are available" error instead of fatal erroring - Removed the greyed-out buttons state while a display isn't ready yet - Added an author's avatar and a verified badge next to their name - Enhanced cursor handling for 1.21.11 - ImprovedGradlebuild system, so it looks less like a frankenstein ([#150](https://github.com/arnodoelinger/dreamdisplays/pull/150)) - Improved platform resources structure - Codebase improvements: more Kotlin analogues instead of Java imports, optimized imports - Improved KDoc documentation in the codebase - Improved wikiFixes
- Fixed video sometimes freezing indefinitely - Fixed aSynced/Broadcastdisplay sometimes getting stuck on "Waiting for video..." forever ([#138](https://github.com/arnodoelinger/dreamdisplays/issue/138)) - Fixed "Unrecoverable stream failure" error when using Iris shaders ([#146](https://github.com/arnodoelinger/dreamdisplays/issue/146)) - Fixed live resume, live quality switches, and stall recovery blocking every other play / pause / seek / etc. action on the display for the whole network re-resolve - Fixed some videos getting a permanently broken stream (403 Forbidden) instead of falling back to a working one - Fixed retries being silently unlimited when a resolved stream failed to open right away - Fixed the background quality refresher endlessly restarting a live stream when the closest available rendition didn't exactly match the requested quality - Fixed video getting stuck when seeking right after changing quality ([#121](https://github.com/arnodoelinger/dreamdisplays/issues/121)) - Fixed a failed quality switch permanently blocking re-selecting that same quality - LoopLocaldisplays on instead of freezing - Fixed disappearing suggestions in some cases after a stutter / lag spike, requiring a seek to unstick it - Fixed disappearing video preview when pausing and returning to the menu - Fixed restoring display snapshots from prior sessions - Fixed a display first sighted outside the client's render distance staying invisible until the server's next periodic broadcast - Fixed a stale pre-seek frame occasionally slipping through and briefly rewinding the picture right after a seek - Fixed the reappearance bridge occasionally playing audio from just before a seek instead of the resumed position - Fixed occasional stutter and dropped opening frames right after opening or seeking a video, caused by a leftoverFFmpegbuffering flag - Fixed the warm-park pool TTL being too short - Fixed the display menu's video preview being fit to the display's own block shape instead of the video's aspect ratio - Fixed audio diagnostics from a just-ended session occasionally being spliced into the next one's error report - Suppressed repeat media errors for 15 s after retryServer
Features
- SupportBungeecordandVelocity-NeoForgeserver support ([#95](https://github.com/arnodoelinger/dreamdisplays/issues/95)) - New command:/display fullscreenfor events and presentations ([#135](https://github.com/arnodoelinger/dreamdisplays/pull/135)) - FullLuckPermssupport onFabric/NeoForgeservers ([#128](https://github.com/arnodoelinger/dreamdisplays/pull/128)) - Added a[custom_media]config section and adreamdisplays.custompermission to control whether players may play their own links (Vimeo, Kick, and direct files), with optional per-host allow / blocklists -/display videonow accepts any supported link, not only YouTube URLs - Added `max_disp1.9.0-preview.5Dream Displays 1.9.0 Preview 5 — Paper 1.21+Aug 5, 2026 Highlights
- Hotfix: fixed explosion display protection mixin crash - Fixed audio issues inFabric1.21.1 & 1.21.11 versionsClient
Fixes
- Fixed audio issues when inEnhanced/Advanced3D audio mode forFabric1.21.1 & 1.21.11 versions - Fixed playback picked the lowest-bitrate rendition of an untagged trackServer
Fixes
- Fixed explosion display protection mixin crash ([#161](https://github.com/arnodoelinger/dreamdisplays/issue/161))1.9.0-preview.4Dream Displays 1.9.0 Preview 4 — Paper 1.21+Aug 5, 2026 Highlights
- Custom videos: paste a direct link to any video and play it on a display - File-host share link support — Google Drive, Dropbox, imgur, etc. - Kick and Vimeo support - Filter button - Some fixes and improvementsClient
Features
- Added custom video support, so you can paste a direct link to any video and play it on a display (server must be 1.9.0 Preview 4 or higher) - Added file-host share link support — Google Drive, Dropbox, imgur, etc. (server must be 1.9.0 Preview 4 or higher) - Added Kick support - Added Vimeo support - Added filter buttonImprovements
- Repeat all videos for all platforms on every playback mode (server must be 1.9.0 Preview 4 or higher)Server
Features
- Added a[custom_media]config section and adreamdisplays.custompermission to control whether players may play their own links (Vimeo, Kick, and direct files), with optional per-host allow / blocklists -/display videonow accepts any supported link, not only YouTube URLs - Addedmax_displays_per_playerconfig limit and wired up thecreate_bypasspermission andfullscreen.quality_capsetting - Add explosion protection forFabricandNeoForgeserversImprovements
- Repeat all videos for all platforms on every playback modeFixes
- Fixed the Picture-in-Picture pin packet being able to flood the server with disk writes - Fixed a reported video duration being trusted from any player anywhere on the server - Fixed some display commands being accepted from a player who isn't actually near the display - Fixed a forced-lockedBroadcastdisplay being switchable back to another mode - Fixed display areas not being protected from enderman pickup, wither / silverfish breaking blocks, fire, and self-exploding blocks (beds, respawn anchors) - Fixed HTTP responses (media metadata, thumbnails, resolved segments) being buffered into memory with no size limit - Fixed Velocity / proxy disconnect from unsynced fullscreen command argument type ([#138](https://github.com/arnodoelinger/dreamdisplays/issue/153))1.9.0-preview.3Dream Displays 1.9.0 Preview 3 — Paper 1.21+Jul 19, 2026 Highlights
- 3D audio support - Language selector right in the display menu - Now recommendations are endlessly scrolling - [Crowdin](https://crowdin.com/project/dreamdisplays) platform integration - Fixed some bugs, including crash onFabric1.21.11 - New Gradle build system - Some other minor improvementsClient
Features
- Added 3D acoustics for displays: sound is now muffled by walls (occlusion), loses highs over distance (air absorption), and picks up room / cave reverberation raytraced from nearby blocks and their material; e.g., stone reflects, wool absorbs ([#147](https://github.com/arnodoelinger/dreamdisplays/pull/147)) - Added audio track selector, so you can select your language right in the display menu ([#149](https://github.com/arnodoelinger/dreamdisplays/pull/149)) - Added subtitles support ([#151](https://github.com/arnodoelinger/dreamdisplays/pull/151)) - Added click sounds when clicking on buttons in the display menu - Added [Crowdin](https://crowdin.com/project/dreamdisplays) integration ([#141](https://github.com/arnodoelinger/dreamdisplays/pull/141))Improvements
- Enhanced UI components ([#148](https://github.com/arnodoelinger/dreamdisplays/pull/148)) - Now recommendations are endlessly scrolling - Enhanced cursor handling for 1.21.11 - Improved popout context menu positioning - Improved scrollbars: now you can drag them - Retry on "Not all references are available" error instead of fatal erroring - Removed greying out buttons feature when the display is not ready yet - Added author's avatar by their name - Added verified badge by author's name - Improved Gradle build system, so that looks less like a frankenstein ([#150](https://github.com/arnodoelinger/dreamdisplays/pull/150)) - Improved platform resources structure - Use more Kotlin analogues instead of Java imports - Optimized importsFixes
- Fixed "Unrecoverable stream failure" error when using Iris shaders ([#146](https://github.com/arnodoelinger/dreamdisplays/issue/146)) - Fixed aSynced/Broadcastdisplay sometimes getting stuck on "Waiting for video..." forever ([#138](https://github.com/arnodoelinger/dreamdisplays/issue/138)) - Fixed disappearing video preview when pausing and returning to the menu - Fixed video sometimes freezing indefinitely - Fixed disappearing suggestions in some cases after a stutter / lag spike, requiring a seek to unstick it - Fixed retries being silently unlimited when a resolved stream failed to open right away - Fixed some videos getting a permanently broken stream (403 Forbidden) instead of falling back to a working one - LoopLocaldisplays on instead of freezingServer
Fixes
- Fixed crash onFabric1.21.11 caused by invalidBareTokenArgumentTyperegistration ([#137](https://github.com/arnodoelinger/dreamdisplays/issue/137)) - Use more Kotlin analogues instead of Java imports - Optimized imports1.9.0-preview.2Dream Displays 1.9.0 Preview 2 — Paper 1.21+Jul 11, 2026 Highlights
- Hotfix: fixed an issue that could significantly increase world loading times for all players - Brought backNeoForge1.21.11 releases to the [corporate ad dispenser](https://www.curseforge.com/) - Now you can set video URL in/display fullscreencommand - Some other minor improvementsClient
Features
- Brought backNeoForge1.21.11 releases to the [corporate ad dispenser](https://www.curseforge.com/)Improvements
- Renamed theSynchronizationsetting toPlayback modeand its tooltip now briefly explains each mode - (Local,Synced,Broadcast) - Fullscreen displays in Picture-in-Picture mode are now 33% bigger - Now fullscreen and Picture-in-Picture displays survive rejoins - Updated messages mentioningYouTubeto also reflectTwitchsupportServer
Improvements
- Enhanced target selector format for/display fullscreen(e.g.@ano longer needs quotes) - Addedurloption for/display fullscreen- Added/display fullscreento/display help, and incomplete/display fullscreencommands now show its usage instead of a generic error - Updated messages mentioningYouTubeto also reflectTwitchsupport - Added hover and preview fade effects to seekbar - Added ghost handle when seekingFixes
- Fixed an issue that could significantly increase world loading times - Fixed players being unable to join at all right after the previous fix, caused by the new/display fullscreenselector format1.9.0-preview.1Dream Displays 1.9.0 Preview 1 — Paper 1.21+Jul 11, 2026 Highlights
-NeoForgeserver support, including single-player - Full Twitch support alongside YouTube - New/display fullscreencommand, great for events and presentations - Scrubbing preview on the seek bar - FullLuckPermsintegration - UI, resolving, codebase improvements and some bugfixesClient
Features
-NeoForgeserver support (including single-player) ([#95](https://github.com/arnodoelinger/dreamdisplays/issues/95)) - Full Twitch support ([#129](https://github.com/arnodoelinger/dreamdisplays/pull/129)) - New Borderless and Fullscreen display modes ([#135](https://github.com/arnodoelinger/dreamdisplays/pull/135)) - New command:/display fullscreenfor events and presentations ([#135](https://github.com/arnodoelinger/dreamdisplays/pull/135)) - Added support for saving and restoring the last known playback position everywhere - Added support for saving and restoring each display's custom render distance across game restartsImprovements
- Enhanced UI components - Now all sliders have snap behavior and fixed subdivisions for better precision - Improved displays performance ([#131](https://github.com/arnodoelinger/dreamdisplays/pull/131)) - Added scrubbing preview on the seek bar (frame preview on hover) - Reduced native decode-path overhead on every frame, for smoother in-process playback - Increased stall watchdog threshold from 30 to 45 seconds to avoid false positives on slow networks - Enhanced ambient grid ([#136](https://github.com/arnodoelinger/dreamdisplays/pull/136)) - Codebase improvementsFixes
- Fixed restoring display snapshots from prior sessions - Fixed the background quality refresher endlessly restarting a live stream when the closest available rendition didn't exactly match the requested quality - Fixed the display menu's video preview being fit to the display's own block shape instead of the video's aspect ratio - Fixed video getting stuck when seeking right after changing quality ([#121](https://github.com/arnodoelinger/dreamdisplays/issues/121)) - Fixed a stale pre-seek frame occasionally slipping through and briefly rewinding the picture right after a seek - Fixed a failed quality switch permanently blocking re-selecting that same quality - Fixed the reappearance bridge occasionally playing audio from just before a seek instead of the resumed position - Fixed live resume, live quality switches, and stall recovery blocking every other play / pause / seek / etc. action on the display for the whole network re-resolve - Fixed a display first sighted outside the client's render distance staying invisible until the server's next periodic broadcast - Fixed audio diagnostics from a just-ended session occasionally being spliced into the next one's error report - Fixed occasional stutter and dropped opening frames right after opening or seeking a video, caused by a leftoverFFmpegbuffering flag - Fixed the warm-park pool TTL being too shortServer
Features
-NeoForgeserver support ([#95](https://github.com/arnodoelinger/dreamdisplays/issues/95)) - FullLuckPermssupport onFabric/NeoForgeservers ([#128](https://github.com/arnodoelinger/dreamdisplays/pull/128)) - New command:/display fullscreenfor events and presentations ([#135](https://github.com/arnodoelinger/dreamdisplays/pull/135))Improvements
-/display deleteis now available to everyone for their own displays - Codebase improvements: more modularization and cleanup ([#127](https://github.com/arnodoelinger/dreamdisplays/pull/127)) -Fabric/NeoForgeserver display deletion now notifies nearby clients itself, matchingPaper, so a future caller can't forget to broadcast - Added astorage.use_ssloption inconfig.tomlto enable TLS on theMySQLconnection (was hardcoded off) - Reduced per-player memory overhead on long-running servers with many unique joins - Dream Displays security improvements - Codebase improvementsFixes
- Fixed displays removed by the startup material-validation sweep not telling online players to forget them, leaving ghost displays until reconnect - Fixed deleted displays leaking their legacy v1 sync state, which kept being carried by the periodic broadcast - Fixed the staggered display list send to a joining player not stopping when the player disconnected mid-send1.8.8Dream Displays 1.8.8 Release — Paper 1.21+Jul 3, 2026 Highlights
- UI improvements like gradient fill, shimmer effects, and more place for suggestions - Enhanced media player stability and performance; now seeks are smoother and faster - Enhanced native logging and error handling - FixFabric1.21.1 display rendering - Fixed some minor issues and edge casesClient
Features
- Added gradient fill and shimmer effects for thumbnails and loading statesImprovements
- Pausing now keeps the decoder warm on every pipeline, so resume is instant instead of restarting the stream - Seeking no longer tears the whole session down before reconnecting: the picture holds its last frame while the target position warms up in the background, then jumps — including the loop wrap-around in synced / broadcast modes - The first decoded frame is now shown immediately on start and seek instead of waiting for the playback cushion to fill - Stream startup got faster:FFmpegno longer probes the container with its default 5 MB / 5 s window - Stall recovery now reconnects in the background while the picture holds its last frame instead of blanking - Reduced render overhead on 26.x versions - Removed unreachable frame-resize handling from the video reader loop - Updated the in-process YouTube resolverNewPipeExtractor- EnhancedLAVdecoder with cached packets - Enhanced natives logging and error handling - Enhanced thumbnail's qualityFixes
- FixedFabric1.21.1 display rendering - Fixed two different videos sharing the same thumbnail when their IDs differed only by letter case - Fixed a failed thumbnail registration being able to crash the game - Fixed a rare race during quality switches that could destroy the live display textures and leave the screen rendering through dead handles - Fixed display teardown leaving already-freed textures reachable, which could lead to rendering through dead handles - Fixed player initialization callbacks getting lost when registered right as initialization finished - Fixed the reappearance audio bridge potentially starting mid-sample, which could produce noise - Fixed several retrying displays being able to block every other display's initialization - Fixed leakedyt-dlpsubprocesses when the fast in-process resolver crashed mid-raceServer
Fixes
- Fixed displays with long URLs onMySQL- Fixed display deletion logic and enhancedMultiverse-like projects compatibility - Fixed legacy sync packets being able to store an arbitrarily large video duration on the server1.8.7Dream Displays 1.8.7 Release — Paper 1.21+Jul 1, 2026 Highlights
- Hotfix for 1.21.1 servers - Fixed video freezing / losing audio after seeking - Fixed default volume protocol - Better shaders compatibilityClient
Improvements
- Enhanced compatibility with specific shadersFixes
- Fixed default volume protocol that was not working - Fixed video freezing / losing audio after seeking or pausing when the selected quality isn't actually available ([#121](https://github.com/arnodoelinger/dreamdisplays/issues/121)) - Fixed video restarting right at the end of a video when the audio track finished a moment before the video did - Fixed z-fighting when player is very far away from the displayServer
Fixes
- Fixed Java 25 conflict in 1.21.1 - Fixed default volume protocol that was not working - Fixed doubled message about plugin's startup1.8.6Dream Displays 1.8.6 Release — Paper 1.21+Jun 30, 2026 Highlights
- Hotfix forFabric1.21.11 & 26.1.2Client
Improvements
- Enhanced versionizing for Modrinth and GitHub releasesFixes
- Fix critical crash forFabric1.21.11 & 26.1.2 ([#118](https://github.com/arnodoelinger/dreamdisplays/issues/118))Server
No changes.1.8.5Dream Displays 1.8.5 Release — Paper 1.21+Jun 30, 2026 Highlights
- 1.21.1 support - All displays now default to 50% volume - Fix critical crash onFabric- Some fixes and codebase improvementsClient
Features
- Added support for Minecraft 1.21.1Improvements
- All displays now default to 50% volume - Previews have replaced snapshots - Now versions have pretty style format - Discord publisher integration - ReplacedGSONlibrary withkotlinx.serializationfor better maintainability and performance - Enhanced safety comments in unsafe blocks in Rust natives - Changed author's name arsmotorin to arnodoelinger - Some dependecies updatesFixes
- Fixed Picture-in-Picture playing ahead of the in-world display; it now stays in sync - Fixed critical crash when trying to delete an invalid display in single-player onFabricServer
Features
- Added support for Minecraft 1.21.1 - Addeddefault_volumeoption inconfig.toml, so server owners can now set the default volume for all playersImprovements
- Previews have replaced snapshots - Now versions have pretty style format - ReplacedGSONlibrary withkotlinx.serializationfor better maintainability and performanceFixes
- Fixed critical crash when trying to delete an invalid display onFabricservers1.8.4Dream Displays 1.8.4 Release — Paper 1.21+Jun 27, 2026 Client
Improvements
- Improved experimental API - Readded 26.2 version toPaperbuilding system - Improved media playback smoothness, especially around frame pacing and short playback stalls - Improved pause and resume behavior, including warm resume for supported sessions - Improved video loading, thumbnails, search suggestions, and replay caches for faster repeated loads - Improved media links, network requests, and JSON handling for more consistent video resolving - Improved local display settings saving so settings survive crashes and future updates better - Reduced extra background threads in media tasks - Synced and broadcast displays now default to 50% volume instead of 100% - Improved Dream Displays securityFixes
- Fixed incompatibilities with high-quality shaders ([#108](https://github.com/arsmotorin/dreamdisplays/issues/108)) - Fixed unnecessary sync corrections while media is paused or parked - Fixed a rare internal service lookup issue that could affect features with multiple service implementationsServer
Improvements
- Improved experimental API - Improved report cooldown handling under repeated report attempts - Improved media links, network requests, and JSON handling for server-side media features - Improved saved display storage so display data is safer across restarts and crashes - The mod update notification is now shown once per server session - Improved Dream Displays securityFixes
- Fixed several report cooldown edge cases - Fixed the mod update notification formatting onFabricservers - Fixed several packet protocol v2 validation edge cases during connection and packet decoding - Fixed audio-language validation before saving and rebroadcasting it - Fixed a rare internal service lookup issue that could affect features with multiple service implementations1.8.3Dream Displays 1.8.3 Release — Paper 1.21+Jun 24, 2026 Client
Improvements
- Improved experimental API - Hardened background maintenance tasks against hanging the game on exit - Reworked background networking, thumbnail, and cache work onto a unified coroutine scheduler for cleaner shutdown and fewer idle threads - Display targeting now only triggers on the screen's own block face instead of the whole block - Enhanced documentation in codebase - Updated version dependencies - Improved Dream Displays securityFixes
- Fixed 360p quality lock in some cases - Fixed the display menu preview blitting a just-released texture during a quality switch, causing repeated "Missing resource" warnings and a GL errorServer
Improvements
- Improved experimental API - Improved display data saving - Improved version parsing - Moved webhook reports andFabricdatabase saves off the main server thread - Enhanced documentation in codebase - Updated version dependencies - Improved Dream Displays securityFixes
- Fixed periodic display / player update ticks running on an async scheduler onPaperservers - Fixed unsafe asyncBukkit/PaperAPI usage - Fixed displays not being saved until the server shuts down cleanly, so a crash could lose newly created or edited displays - Fixed display owners onPaperservers needing extra permission to delete their own display, unlikeFabric- Fixed a malformed legacy network packet being able to crash decoding instead of being safely rejected - Fixed broadcast displays briefly losing their quality clamp right after reconnecting until the server resent it - Fixed the display cache file being able to get corrupted if the game / server crashed mid-save - Fixed a race that let concurrent reports slip past the report cooldown - Fixed default permissions; (local), synced and broadcast are for all players, no only for OPs1.8.2Dream Displays 1.8.8 Release — Paper 1.21+Jun 20, 2026 Client
Improvements
- YouTube videos now load a bit faster - Smoothed out a brief stutter that could happen right when a video changed - Tightened how video links are handled, with length limits and network-only access to keep them from being abused - Enhanced error screen when video loading fails - Enhanced video loading animation - Added 26.2 version to Paper building system - Improved Dream Display securityFixes
- Fixed audio cutting out after about 10 seconds ([#107](https://github.com/arsmotorin/dreamdisplays/pull/107)) - Fixed repeating video playback in local playback modeServer
Improvements
- Players can no longer spam the report system - Improved Dream Displays security1.8.1Dream Displays 1.8.1 Release — Paper 1.21+Jun 17, 2026 Client
Features
- Added experimental support of native optimizations for 1.21.11Improvements
- Improved translations for Russian and Ukrainian languages - ImprovedFFmpegdownload logging and unpacking flow - Adopted Rust 2024 edition for natives and enhanced log handlingFixes
- Fixed vertex format crash onFabric1.21.11 - Reduced log spamServer
Improvements
- Improved translations for Russian and Ukrainian languagesFixes
- Single-player displays are now stored per-world instead of the global database - Replaced hardcoded max dimensions with placeholders1.8.0Dream Displays 1.8.0 Release — Paper 1.21+Jun 16, 2026 Client
Features
- Added support for Minecraft 26.2 - Brought back Minecraft 1.21.11 support ([#91](https://github.com/arsmotorin/dreamdisplays/pull/91)) - Added a new packet protocol v2 - Added fallback support for protocol v1, but v1 is now deprecated and will be removed in the future - Introduced an unstable client-side API that will be scaled in the future - Switched the multiversion system toStonecutter, so old versions will be supported too - Added stableVulkansupport for display rendering (OpenGLrendering is still supported) - Replaced the old synchronization mode with new playback modes (server 1.8.0+ required) - Added local, synced, broadcast playback modes (server 1.8.0+ required) - Support vertical displays (server 1.8.0+ required) - Added a native Rust media pipeline - IntegratedFFmpeginto the native media pipeline - Added in-process LAV backend for video decoding - Added GPU YUV / NV12 rendering path - Added planar display textures for native video frames - Added dynamic frame format support for native video frames - Added improved cursor handling in the display menu - Increased the default render distance to 96 blocks - Switched display visibility logic from block-based checks to chunk-based checks - Increased the effective display rendering range from 2 chunks to 12 chunks - Reduced CPU usage by up to 50× on tested mid-range hardware scenarios (Java 25 required) - Reduced CPU usage by up to 70× on tested low-end hardware scenarios (Java 25 required) - Improved video stream resolving speed by up to 10–12× in supported cases - Added seamless and faster video quality changes - Improved shader compatibility - Added more anonymous telemetry data to improve development, compatibility, and stability - Added a fresher mod icon - Improved several menu iconsImprovements
- Improved media player performance thanks to the native media pipeline - Improved video frame processing stability - Improved brightness handling in the video frame pipeline - Added a more efficient native video frame path - Reduced expensive CPU-side frame conversion work - Improved GPU upload behavior for video frames - Improved realtime-safe stream selection - 60 FPS stream selection is now opt-in - Improvedyt-dlpquality fallback logic - Improvedyt-dlpresolver failure handling - Improved video startup behavior when stream resolving fails - Improved detection of DRM-protected videos - DRM-protected videos now fail faster and more gracefully - Improved cookie handling - Improved process management for external media tools - Improved display rendering stability on larger displays - Improved display rendering stability at longer distances - Improved compatibility with shader mods - Improved compatibility withVulkanMod- Improved Picture-in-Picture display sizing logic - Improved display menu behavior on different GUI scales - Improved display menu icon behavior - Improved locked display handling - Improved temporary focus mute behavior - Improved unsafe filename handling for server display cache files - Improved client texture creation validation - Replaced the oldAbstractConfigusage with the default config implementation - Replaced custom logging usage with LoggerFactory - Reorganized the project structure - Improved Gradle configuration - Improved workflows - Improved the publishing system - Removed old Gradle cache configuration - Removed INotSleep's utils - Simplified multiple internal code paths - Cleaned up old compatibility code - Updated dependencies - Added many small internal cleanups, simplifications, and stability improvementsFixes
- Fixed a critical crash onFabric1.21.11 - Fixed a criticalQuiltentry point crash - Fixed an ancientNeoForgeand IntelliJ IDEA compatibility issue - FixedNeoForgeclient shutdown on normal server disconnect - Fixed FFmpeg extraction on Linux ([#93](https://github.com/arsmotorin/dreamdisplays/issues/93)) - Fixed incompatibility between the popout window andVivecraft- Fixed GUI scale handling in the display menu - Fixed several shader compatibility issues - FixedVulkanModcompatibility issues - Fixed strange red and green screen blinking while loading videos - Fixed quality fallback to 360p whenyt-dlpfails - Fixed incorrect waiting behavior for DRM-protected videos - Fixed Picture-in-Picture mode display size calculation - Fixed render distance localization - Fixed locked display abuses - Fixed the false locked display icon in the display menu - Fixed temporary focus mute overwriting the user's mute setting - Fixed unsafe server display cache filenames breaking on some systems - Fixed invalid display sizes creating broken client textures - Fixed several display menu edge cases - Fixed several native frame pipeline edge cases - Fixed several video resolver edge cases - Fixed several display rendering edge cases - Fixed multiple small stability issuesServer
Features
- Added support for Minecraft 26.2Fabricservers - Implemented Minecraft 1.21.11 support forFabricservers - Added support for the new playback modes - Added Java 21 support for Minecraft 1.21.11 servers - Added a new packet protocol v2 - Added fallback support for protocol v1, but v1 is now deprecated and will be removed in the future - Addeddreamdisplays.local,dreamdisplays.synced,dreamdisplays.broadcast,dreamdisplays.lock,dreamdisplays.delete.others, anddreamdisplays.create.bypasspermissions - Added more anonymous telemetry data to improve development, compatibility, and stabilityImprovements
- Simplified server-side display storage updates - Removed the old display validator flow - Improved server-side handling of display-enabled state updates - Removed the useless report button in single-player - Improved Gradle configuration - Improved server module structure - Updated dependencies - Added multiple small server-side cleanups and simplificationsFixes
- FixedMariaDBcompatibility issue ([#88](https://github.com/arsmotorin/dreamdisplays/pull/88)) - Fixed sending display enabled packets to clients - Fixed severalFabricserver compatibility issues - Fixed several small server-side stability issues1.7.1Dream Displays 1.7.1 Release — Paper 1.21+Jun 3, 2026 Client
Features
- A bit fresher mod iconImprovements
- Better version publishing on Modrinth - Reduce JAR size by ~50%Fixes
- Fabric config parsing error - NeoForgeset_lockedpacket errorServer
Improvements
- Some code refactoring - Reduce JAR size by ~50%Fixes
-FabricDisplayDataerror when server shutdowns1.7.0Dream Displays 1.7.0 Release — Paper 1.21+May 28, 2026 Client
Features
- Support 26.1.2 version and Java 25 - SupportFabricservers - Support YouTube shorts - Windowed and Picture-in-Picture mode - Hardware-acceleratedFFmpegvideo decoding - Show max 72 recommended videos based on the current video instead of 24Improvements
- Switch from RGBA to RGB24 for improved rendering performance - Videos now stop rendering (but still play) when Minecraft is minimized - Enhance watchdog logic for low-connection networks and stability - Enhance YouTube's cache for stability - Skip restoring saved time if sync is active - Preserve sync mode when switching videos - Reduce maximum brightness from 200% to 100% - Deprecate/displaycommand (will be replaced by direct interaction with displays in future versions) - Add dynamic material messages - Update dependencies and replace some of them with better alternativesFixes
- Fix cropping at display edges - Fix mute logic and allow players to mute displays in sync mode - Fix admins can't delete displays through the menu - Fix the "You have to look at the display block" error when there is actually display ([#79](https://github.com/arsmotorin/dreamdisplays/issues/79)) - Fix a strange version number in the menu ([#81](https://github.com/arsmotorin/dreamdisplays/issues/81)) - Fix version semantic versioning parsing for mod updates - Fix tiled thumbnail rendering in the menu - Fix texture race crash in some rare cases - Fix a locked quality bug ([#80](https://github.com/arsmotorin/dreamdisplays/issues/80)) - Fix seek time overwriting the current playback time - Fix hangingyt-dlpwhen cookies are unavailableServer
Features
- SupportFabricservers - Follow client's feature of lock / unlock displays - Deprecate/displaycommand (will be replaced by direct interaction with displays in future versions)Improvements
- Preserve sync mode when switching videos - Broadcast synced display state every 2 seconds - Add dynamic material messages - Update dependencies and replace some of them with better alternatives1.6.3Dream Displays 1.6.3 Release — PaperMay 16, 2026 - Standardize logs, warnings and errors - Reformat codebase1.6.2Dream Displays 1.6.2 Release — PaperMay 15, 2026 - Rate-limit sync packet broadcasting to prevent flooding when owner seeks rapidly - Batch display info packets on player join to prevent client overload on servers with many displays - Validate sync packet time values to reject out-of-range data1.6.1Dream Displays 1.6.1 Release — PaperMay 5, 2026 - No changes1.6.0Dream Displays 1.6.0 Release — PaperMay 5, 2026 - Switch to Paper plugin - Drop Bukkit and Spigot support - Inform player about a display if they don't have the mod installed when they try to touch it - Various optimizations and some small bug fixes1.5.0Dream Displays 1.5.0 Release — SpigotApr 26, 2026 - No changes1.4.4Dream Displays 1.4.4 Release — SpigotMar 1, 2026 - Add/display infocommand for quick display information - Add/display listfilters (mine,world <name>,owner <name>,sync) - Add translation for/display listcommand - Improve/display videoerror feedback (separate invalid URL/not owner/wrong target block) - Add total value output to/display stats- Add admin target mode for/display on|off <player>- Improve/display reloadoutput with what was reloaded1.4.3Dream Displays 1.4.3 Release — SpigotFeb 27, 2026 - Improved/display videoURL parsing: now accepts direct video IDs and more YouTube link formats (watch/shorts/embed/live/youtu.be). - Add paginated display listing with improved formatting - Improved tab-completion: now it's case-insensitive - Language suggestions for/display videowhen typing language parameter - Add permission and validation checks for display deletion - Better config mapping - Improved display sync stability - Player-only/displaysubcommands now return a clear console message instead of failing silently - Fixed scheduler timing mismatch between Bukkit and Folia1.4.2Dream Displays 1.4.2 Release — SpigotFeb 7, 2026 - Fix remaining displays when world resets - Fix floating displays without base material - Handle failed config gracefully - Remove unnecessary warnings and logs1.4.1Dream Displays 1.4.1 Release — SpigotJan 12, 2026 - Fix Bukkit/Spigot server support - Fix selection visualizer for Folia servers - Fix releasing snapshots when pull requesting - Temporary disabled mod detection for Folia servers due to Folia scheduler problems - Add Kolyakot33 as a contributor1.4.0Dream Displays 1.4.0 Relese — SpigotJan 6, 2026 Don't use this version, check 1.4.1. - Fix display directions not being created properly in some cases - Cleanup codebase1.3.2Dream Displays 1.3.2 Release — SpigotJan 3, 2026 Don't use this version, check 1.4.1. - No changes1.3.1Dream Displays 1.3.1 Release — SpigotJan 3, 2026 Don't use this version, check 1.4.1. - Detect snapshot versions correctly1.3.0Dream Displays 1.3.0 Release — SpigotJan 2, 2026 Don't use this version, check 1.4.1. - We've created [Discord server](https://discord.gg/uwMMZ2KWk6)! - Refactors and small improvements - Documentation in codebase of the plugin - Improve update logic and fix ignoring mod versions ([#63](https://github.com/arsmotorin/dreamdisplays/issues/63))1.2.0Dream Displays 1.2.0 Release — SpigotDec 21, 2025 - New languages: Belarusian, Czech, German and Hebrew for plugin messages - Improve permissions handling for/display createand/display video- Add permission message when player lacks permission - Improve/display listcommand output - Add/display helpand/display statscommands - Add links to some messages - Fix reporting message not showing correctly - Fix wrong command usage message logic1.1.3Dream Displays 1.1.3 Release — SpigotDec 18, 2025 - No changes1.1.2Dream Displays 1.1.2 — SpigotDec 18, 2025 - Add message when client doesn't have the mod installed - Better releases system of mod1.1.1Dream Displays 1.1.1 Release — SpigotDec 11, 2025 - Fix display desynchronization with server and client1.1.0Dream Displays 1.1.0 Release — SpigotDec 11, 2025 - Fixed repeated update notifications when switching dimensions - Refined, new configuration - Enhanced particle effects for selections - Created messages for empty report, display deletion, etc. - Separated update logic between mod and plugin - Plugin rewritten in Kotlin - Improved overall code quality - Corrected premium permission name - Removed hourly update notifications from the console - bStats Special thanks to [Toffikk](https://github.com/Toffikk).1.0.8Dream Displays 1.0.8 Release — SpigotNov 18, 2025 - Support Spigot and Bukkit servers - New commands:/display listand/display reload- More languages for plugin configuration - .toml format for configuration files1.0.7Dream Displays 1.0.7 Release — PaperNov 17, 2025 - Folia support - Better comments in plugin configuration - Discontinue FrogDisplays channel support1.0.6Dream Displays 1.0.6 Release — PaperNov 7, 2025 - Bump version1.0.5Dream Displays 1.0.5 Release — PaperJul 4, 2025 - Bump version1.0.4Dream Displays 1.0.4 Release — PaperJul 3, 2025 - Release channel is now Release - English as the default language - New configuration - New mod name Dream Displays - Added support for old mod clients - Added plugin information1.0.3Dream Displays 1.0.3 Beta — PaperJul 1, 2025 - First public version
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta