COWMODSКаталог модов
Cushion Screens!

ВЕРСИИ (3)

release

Cushion Screens!

0.8.1
27 июл. 2026 г.138Minecraft: 26.3-snapshot-3fabric
Скачать
Что нового
# Changelog ## 0.8.1 **New** - `{safemode:true}` attribute for `/cushionscreens video` - loads and plays very long videos in 5-minute chunks instead of decoding the whole file upfront, so they start quickly and don't use huge amounts of memory. Works together with `loop`, `audio`, and `seek` (as the starting point). There's a short pause between chunks while the next one loads, since chunks aren't pre-fetched ahead of time yet. ## 0.8.0 First public release under the CushionScreens name. This version brought a large number of changes on top of the original private fork - grouped by topic rather than by internal build number, since 0.1.0–0.7.0 were never distributed anywhere. **New commands** - `/cushionscreens url <link> [{attrs}]` - download and show an image or GIF directly from an http(s) link (detected by file signature, not URL extension). - `/cushionscreens pause` / `/cushionscreens resume` - freeze and continue the current frame/pattern (and audio) without reloading anything. - `/cushionscreens maxframes <number>` - configurable cap on how many video frames get decoded (global setting, default 2000). **New `{attributes}` syntax** - Options that used to be separate literal flags (`colors=64`, `bake`) are now a single trailing NBT compound, e.g. `{colors:176,loop:true,volume:75,seek:30,scaling:fit}` - same style Minecraft uses for item components. - `colors`: `16` (default), `17` (16 + one true black), `64` (copper bulb oxidation stages), `80` (64 + a non-glowing variant), `176` (all supported light levels). - `loop`: video/GIF repeats forever (audio included) instead of stopping on a blank screen after playing once (new default: stop after one play-through). - `volume`: 0-100, applied via the client's own audio gain control, independent of Minecraft's sound sliders. - `seek`: start video (and its audio) partway in, using FFmpeg's fast input-side seeking. - `scaling`: `stretch` (default, unchanged), `crop` (fill without distortion), `fit` (letterbox/pillarbox with black bars). **Extended color system** - Every screen now sits on a lit waxed copper bulb by default, so it glows at night even without using an extended color count. - Colors 64/80/176 place a different light-emitting block under each cushion to unlock extra brightness levels per color; values are based on real in-game color measurements rather than a theoretical brightness curve. **Persistence & lifecycle** - A built screen is now remembered across server restarts and rejoining (previously had to be rebuilt every time). - `bake` (image only): shows the image, then stops tracking those cushions as "the screen" - they become a permanent fixture, untouched by future commands. **Audio** - Video can now stream synced audio to players over the network (optionally to specific players/selectors only). - Audio now stops automatically on disconnect/return to the title screen, and pauses/resumes together with the game's own pause menu (singleplayer only, as expected). **Fixes** - Fixed videos silently restarting/looping after roughly 2 minutes regardless of actual length (old hardcoded frame cap). - Fixed a crash ("Invalid player data") that occurred specifically in creative mode / with cheats enabled, caused by an unregistered custom command argument type. - Fixed a command parser error when combining `audio` with a target selector and trailing attributes. **Renaming** - Project, package, command name, author, and all identifiers changed from the original private fork to CushionScreens / atrixx.
release

Cushion Screens!

0.8.0
23 июл. 2026 г.13Minecraft: 26.3-snapshot-3fabric
Скачать
Что нового
# Changelog ## 0.8.0 First public release under the CushionScreens name. This version brought a large number of changes on top of the original private fork — grouped by topic rather than by internal build number, since 0.1.0–0.7.0 were never distributed anywhere. **New commands** - `/cushionscreens url <link> [{attrs}]` — download and show an image or GIF directly from an http(s) link (detected by file signature, not URL extension). - `/cushionscreens pause` / `/cushionscreens resume` — freeze and continue the current frame/pattern (and audio) without reloading anything. - `/cushionscreens maxframes <number>` — configurable cap on how many video frames get decoded (global setting, default 2000). **New `{attributes}` syntax** - Options that used to be separate literal flags (`colors=64`, `bake`) are now a single trailing NBT compound, e.g. `{colors:176,loop:true,volume:75,seek:30,scaling:fit}` — same style Minecraft uses for item components. - `colors`: `16` (default), `17` (16 + one true black), `64` (copper bulb oxidation stages), `80` (64 + a non-glowing variant), `176` (all supported light levels). - `loop`: video/GIF repeats forever (audio included) instead of stopping on a blank screen after playing once (new default: stop after one play-through). - `volume`: 0-100, applied via the client's own audio gain control, independent of Minecraft's sound sliders. - `seek`: start video (and its audio) partway in, using FFmpeg's fast input-side seeking. - `scaling`: `stretch` (default, unchanged), `crop` (fill without distortion), `fit` (letterbox/pillarbox with black bars). **Extended color system** - Every screen now sits on a lit waxed copper bulb by default, so it glows at night even without using an extended color count. - Colors 64/80/176 place a different light-emitting block under each cushion to unlock extra brightness levels per color; values are based on real in-game color measurements rather than a theoretical brightness curve. **Persistence & lifecycle** - A built screen is now remembered across server restarts and rejoining (previously had to be rebuilt every time). - `bake` (image only): shows the image, then stops tracking those cushions as "the screen" — they become a permanent fixture, untouched by future commands. **Audio** - Video can now stream synced audio to players over the network (optionally to specific players/selectors only). - Audio now stops automatically on disconnect/return to the title screen, and pauses/resumes together with the game's own pause menu (singleplayer only, as expected). **Fixes** - Fixed videos silently restarting/looping after roughly 2 minutes regardless of actual length (old hardcoded frame cap). - Fixed a crash ("Invalid player data") that occurred specifically in creative mode / with cheats enabled, caused by an unregistered custom command argument type. - Fixed a command parser error when combining `audio` with a target selector and trailing attributes. **Renaming** - Project, package, command name, author, and all identifiers changed from the original private fork to CushionScreens / atrixx.
beta

Cushion Screens! 0.7.0

0.7.0
22 июл. 2026 г.13Minecraft: 26.3-snapshot-3fabric
Скачать
Что нового
# CushionScreens Turn a wall of cushions into a working screen. Show static images, animated GIFs, and videos — with synced audio — directly inside your Minecraft world. > **Beta.** This is an early release. Commands, defaults, and the exact color values may still change between versions. Feedback and bug reports are very welcome. ## Features - **Images** — any PNG/JPG, dithered down to the cushion color palette. - **GIFs** — full animation support, frame timing preserved. - **Video** — plays any video file FFmpeg can decode, at a frame rate you choose. - **Audio** — video playback can stream synced audio to players' game clients (no resource pack needed). - **Up to 176 colors** — instead of just the 16 cushion dye colors, the mod can place a different light-emitting block *underneath* each cushion (copper bulbs in various oxidation stages, a lit furnace, a respawn anchor, crying obsidian, a sculk catalyst, a magma block...) to get extra brightness levels per color. All screens glow at night by default, even without this. - **Survives restarts** — a built screen is remembered across server restarts and rejoining; no need to rebuild it every time. - **Bake** — turn a specific image into a permanent, un-managed picture, then build a new screen somewhere else. - **Command hook** — other commands/datapacks can check whether something is currently playing via a scoreboard value, e.g. for `/execute if score`. ## Requirements | | | |---|---| | Minecraft | `26.3-snapshot-3` | | Fabric Loader | `>=0.19.3` | | Fabric API | Required | | Java | `25+` | | Environment | **Client AND server both required** (audio playback and a render-distance fix run on the client) | | FFmpeg | Required **only** for `/video` and audio extraction — must be installed and available on `PATH`. Images and GIFs don't need it. | ## Getting started ``` /cushionscreens build <width> <height> ``` Builds a screen directly in front of you. Put your images/GIFs/videos in the `cushionscreens/` folder inside your game/server directory (it's created automatically the first time you use a command), then: ``` /cushionscreens image cat.png /cushionscreens gif dance.gif /cushionscreens video 20 trailer.mp4 ``` ## Full command list | Command | Description | |---|---| | `/cushionscreens build <width> <height>` | Create a screen in front of you | | `/cushionscreens image <file> [colors=64\|176] [bake]` | Show an image | | `/cushionscreens gif <file> [colors=64\|176]` | Play a GIF | | `/cushionscreens video <fps> <file> [colors=64\|176]` | Play a video (needs FFmpeg) | | `/cushionscreens video <fps> <file> [colors=64\|176] audio [targets]` | Play a video with synced audio, optionally only for specific players/selectors (`@a`, `@p`, a player name...) | | `/cushionscreens play <pattern> <speed>` | Play a generated animation: `plasma`, `rainbow`, `bars`, or `noise` | | `/cushionscreens range <chunks>` | Set how far away the screen renders from, then rebuild to apply | | `/cushionscreens stop` | Stop whatever is currently playing | | `/cushionscreens clear` | Remove the screen entirely | | `/cushionscreens help` | In-game command reference | ## Colors By default every screen uses all 16 cushion colors, sitting on a lit copper bulb (so it glows at night). Two optional upgrades trade performance for a bigger color range: - `colors=64` — adds the 4 copper bulb oxidation stages under each cushion (64 total combinations). - `colors=176` — adds all 11 supported light-level blocks under each cushion (176 total combinations). Higher color counts look noticeably better for photos/video, but changing the block under a cushion is much more expensive than just changing its color — expect more lag on `/video` and `/gif` at `colors=176`, especially on large screens. Static `/image` is unaffected by this since it's a one-time change. ## Bake ``` /cushionscreens image cat.png bake ``` Shows the image like normal, then the mod "forgets" that spot is a screen — the cushions and blocks stay exactly as they are forever, unaffected by `/stop`, `/clear`, or future `/image`/`/video`/`/gif` calls, and aren't tracked for restart persistence. Use this to permanently commit a picture and free up the screen for something else. ## Playing sound with video ``` /cushionscreens video 24 trailer.mp4 audio /cushionscreens video 24 trailer.mp4 colors=176 audio @a ``` Audio is extracted from the video and streamed to players over the network — it plays through their own game client, so it works even on a dedicated server with players far from each other. Without a target selector, audio plays for every player on the server. ## Checking playback state from other commands/datapacks The mod keeps a scoreboard value in sync with whether anything is currently playing: ``` /execute if score CushionScreens cc_playing matches 1 run say something is playing! ``` ## Known limitations (beta) - Only one screen is tracked at a time. - The color values used for `colors=64`/`colors=176` are based on real in-game measurements, but may still be refined in future updates. - After a server restart, restoring a saved screen can take a little while if the area isn't already loaded (up to ~60 seconds before it gives up). ## License MIT