Перейти к содержимому
Mineforgian

Vanilla Video Player

Video Player driven by DataPack and Resource Pack

Загрузки
200
Подписчики
1
Обновлён
17 июня 2026 г.
Лицензия
MIT

Опубликован 19 марта 2026 г.

Minecraft Vanilla Video Player

English 简体中文

by WindWaves_Sea

This article is also published on the author's Blog, Bilibili Column, the project's GitHub repository, and Modrinth or Curseforge.


Introduction

This project is based on a datapack and provides pseudo-video playback in vanilla Minecraft by displaying image sequences.

Main purposes of this datapack:

  • Automatically calculate frame rates and batch process frame files.
  • Provide adaptive frame rate to improve performance.
  • Provide interfaces for quick configuration.
  • Play image sequences stored in resource packs.

It also provides several variables for quickly adding image-sequence videos through resource packs.


Warning

This datapack uses the head equipment slot by default to trigger the camera overlay.
If you do not want to use the head slot, you can modify it inside the datapack manually (currently required in V2.0).

The resource pack includes a transparent model used as the equipped overlay item, creating a pseudo "no item equipped" playback effect.

Image Sequence means saving every frame of a video or animation as an independent static image file, arranged in order by frame number. It is widely used in post-production, 3D animation, visual effects, and other fields due to high compatibility and lossless quality.


Download

You can download this package from:


Video Requirements

Videos must be converted into PNG image sequences.


Play 60 FPS Video with Increased Tick Rate

20 FPS videos are recommended.

If using a 60 FPS video, set the tick rate to 60:

/tick rate 60

This sets the target game tick speed.


Play 60 FPS Video with Frame Interpolation

Set the original frame rate in the config:

frame_rate:60

Dialog Menu

You can open the menu by pressing G or through command:

/dialog show @s animations:open_menu

Players need to choose the video resolution.

  • 1920×1080 = 16:9
  • 2560×1080 = 16:10

If you want to use the playback page, please select a language first in settings.


Parameter Explanation

frame_zero

Number of leading zeros before the frame number.

Example:

video0000.png

Then:

{frame_zero:"000"}

frame

Current frame number.

{frame:1}

path

Output file path.

{path:"animation:school/"}

name

Video prefix name.

Example:

video0000.png

Then:

{name:"video"}

Shorter names are recommended for better macro performance.


blender

Enable if the sequence was exported from Blender.

{blender:true}

blender_name

Leave empty when using Blender.

{blender_name:""}

frame_rate

Original frame rate of the video.

Used for adaptive frame rate.

For servers:

function-permission-level=3

sound

Audio event name defined in sounds.json.


sound_switch

Enable or disable sound playback.

{sound_switch:true}

max_frame

Maximum frame count.


slot

Equipment slot used for overlay.

Supported values:

  • head
  • body
  • chest
  • feet
  • legs
  • mainhand
  • offhand
  • saddle

dialog

video_list_show

Whether the video is shown in the menu.

{video_list_show:true}

resolution

Used for multiple aspect ratio support.

Path format:

path/resolution/frame.png

Example:

animation:school/16:9/0001.png

switch

Enable multi-resolution mode.

true / false

default_size

Default ratio key.

default_size:1

size_list

  • 1 = 16:9
  • 2 = 16:10
  • 3 = 3:2
  • 4 = 4:3

language

Used for translated names in the dialog menu.

default_language

1: en-us
2: zh-cn
3: zh-hk
4: zh-mo
5: zh-sg
6: zh-tw
7: en-au
8: en-ca
9: en-in
10: en-gb
11: fr-fr
12: de-de
13: ja
14: kn
15: es-es
16: ar
17: ko
18: in-in

Translation Text

Format:

language_code:"Translated Text"

Example:

en-us:"School"

Example

Video Configuration


data merge storage video:school \
{video:\
  {\
    frame_zero:"000",\
    frame:"0",\
    path:"animation:school/",\
    name:"school",\
    blender_name:"",\
    frame_rate:"60",\
    sound:"",\
    sound_switch:false,\
    max_frame:740,\
    blender:true,\
    slot:"head",\
    dialog:{\
        video_list_show:true\
    },\
    resolution:{\
      switch:false,\
      default_size:1,\
      size_list:{\
        1:true,\
        2:false,\
        3:false,\
        4:false\
      }\
    },\
    language:{\
      default_language:"en-us",\
      en-us:"School",\
      zh-cn:"学校"\
    }\
  }\
}

function animations:video_add/main with storage video:school video

The last function line must be placed at the end of the config file, and the name after video: must match the name value.


sounds.json

{
  "video_text": {
    "sounds": [
      {
        "name": "animation:video/video_text",
        "stream": true,
        "volume": 0.8,
        "weight": 1
      }
    ]
  }
}

Then use:

{sound:"video_text"}

How It Works

Based on Minecraft's camera_overlay equipment component.


Commands

Start Playback

/function animations:start {video_name:"video_name"}

Stop Playback

/function animations:stop

Pause Playback

/function animations:pause

Resume Playback

/function animations:continue_play

Delete One Player's Playback Data

/function animations:player_video_play/storages/delete/delete_player {name:"player"}

Delete All Player Data

/function animations:player_video_play/storages/delete/all_storages/run

Delete One Video Config

/function animations:video_list/delete_only {name:"video"}

Delete All Video Configs

/function animations:video_list/delete_all

About Image Sequences

You can export image sequences with:

  • Adobe Animate
  • Premiere Pro
  • Apple Motion
  • Processing
  • Aseprite

Export them as PNG sequences.


Recommended Resolution

Minecraft supports adaptive textures.

Recommended size:

960 × 540

This reduces storage usage and resource pack size.


Notes

Due to a Mojang issue, played textures may remain in memory and cannot be fully cleared.

This may cause memory overflow on low-memory systems.

Bug Report:

MC-277837


Debug Mode

Enable Debug Mode with:

/scoreboard players set #debug video_setting 1

Only use Debug Mode when troubleshooting datapack issues or developing with this datapack.

Ченджлог

RV1.1.0Релиз26.1.1, 26.1.2, 26.2 · 17 июня 2026 г.

Fixed an issue where reloading after enabling debug mode would disable send_command_feedback, and fixed an issue where playing animations could cause audio-visual desynchronization.

RV1.0.0Релиз26.1, 26.1.1, 26.1.2 · 19 апреля 2026 г.

Release Version 1.0.0

Chinese

如果没有其他Bug,新版本兼容性问题或添加新功能,此版本为最终版本

日志

修复删除玩家配置和唯一ID值失败的问题,修复无法正常load和reload的问题

English

If there are no other bugs, compatibility issues with the new version, or new features to be added, this version is the final one

Logs

Fixed the issue of failing to restore deleted player configurations and unique ID values, and resolved the problem of inability to load and reload normally

V6.5Бета26.1, 26.1.1, 26.1.2 · 18 апреля 2026 г.

如果没有其他Bug,新版本兼容性问题或添加新功能,此版本为最终版本

修复视频无法正常播放的问题

If there are no other bugs, compatibility issues with the new version, or new features to be added, this version is the final one

Fix the issue that the video cannot be played normally

V6.4Бета26.1, 26.1.1, 26.1.2 · 18 апреля 2026 г.

If there are no other bugs, compatibility issues with the new version, or new features to be added, this version is the final one

Fix the issue of failing to switch video sizes Change the setting of forcing the display of video in the dialog to requiring configuration of whether to display it in the dialog (optional) data merge storage video:your_video_name {video: ... dialog:{ video_list_show:true }, ... } }

V6.3Бета26.1, 26.1.1, 26.1.2 · 12 апреля 2026 г.

Fix the issue where entering the world resets all content, add a reset function, and fix the page flipping issue

V6.2Бета26.1, 26.1.1, 26.1.2 · 11 апреля 2026 г.

Rewrite the video list page generation logic

V6.1Бета26.1, 26.1.1, 26.1.2 · 9 апреля 2026 г.

Issues with dialog video playlist and video ID assignment failures:

When the video playlist contains more than one video, it becomes unusable because the scoreboard uses the same scoring item to calculate the maximum page number and page count, causing a conflict.

Video ID writing failures are due to batch renaming max_value to #max_value in the previous version.

V6.0Бета1.21.11, 26.1, 26.1.1 · 6 апреля 2026 г.

Fix the issue where the video list cannot display all videos

Комментарии

Загружаем…