PixelReel

PixelReel

将Minecraft变成你自己的电影院,播放可玩的电影、节目和直播电视。

技术

pixelReel

一个用于 Minecraft Java版 1.21.1 的 Fabric 模组,允许你在世界中放置电视和影院屏幕,并与朋友一起观看 直播电视 和 点播媒体。

直播频道来自 Tunarr(或任何 M3U + XMLTV)播放列表。电影和节目可以来自 Jellyfin、Emby 或 Plex。每个显示器都保持自己的频道或标题,多个屏幕可以同时播放,并且音频是定位的。

此分支针对 稳定版 1.21.1 Fabric 工具链。对于更新的快照版本,请参见 26.3-snapshot-5 分支/版本。

要求

要求 说明
Java 21+ Minecraft 1.21.1 / 此工具链所要求。
Minecraft 1.21.1 专门针对此版本构建。
Fabric Loader >=0.19.3 在 gradle.properties 中固定。
Fabric API 使用 0.116.15+1.21.1(或 gradle.properties 中的匹配构建)。
VLC(64位) 每个客户端播放视频/音频所需。从 videolan.org 安装。

没有 VLC,菜单、指南、命令和多玩家同步仍然有效,但屏幕会显示“视频播放器不可用”状态而不是视频。

如果 VLC 安装在非标准位置,请使用以下参数启动游戏:

-Dpixelreel.vlc.path=C:\Path\To\VLC

该模组在客户端和服务器上运行(environment: *)。对于多玩家,双方都需要安装模组。VLC 仅在客户端上需要。

配置

首次启动时在 config/pixelreel.json 创建。

Tunarr(直播电视 / M3U / XMLTV)

键 默认值 含义
m3uUrl "" Tunarr 基础 URL 或完整 M3U URL。像 http://1.1.1.1:8000 这样的基础 URL 会扩展为 /api/channels.m3u。
xmltvUrl "" XMLTV 指南 URL。如果为空,会从 Tunarr 基础 URL 自动填充为 /api/xmltv.xml。

Tunarr 配置

Jellyfin

提示:创建一个专用的 Jellyfin 用户,仅授予 电影 和 电视剧 或 动漫 的访问权限,然后在此处使用该用户的 API 密钥。这比将模组指向你的管理员帐户更简单、更安全。

键 默认值 含义
jellyfinUrl "" 服务器 URL(通常端口为 8096)。
jellyfinApiKey "" API 密钥。
jellyfinUserId "" 可选的用户 ID。
jellyfinMoviesEnabled true 显示电影。
jellyfinTvShowsEnabled true 显示电视剧。

Emby

提示:创建一个专用的 Emby 用户,仅授予 电影 和 电视剧 或 动漫 的访问权限,然后在此处使用该用户的 API 密钥。这比将模组指向你的管理员帐户更简单、更安全。

键 默认值 含义
embyUrl "" 服务器 URL。
embyApiKey "" API 密钥。
embyUserId "" 可选的用户 ID。
embyMoviesEnabled true 显示电影。
embyTvShowsEnabled true 显示电视剧。

Plex

提示:最好使用一个只拥有 电影、电视剧 和/或 动漫 访问权限的 Plex 账户/用户,然后在此处使用该账户的令牌,而不是使用完整的管理员设置。

如何获取 plexToken

  1. 打开你的 Plex 网络应用并登录。
  2. 点击任意电影或电视剧(例如 美国老爸)。
  3. 点击 三个点 → 获取信息 → 查看 XML。
  4. 在 XML 页面的地址栏中,找到 X-Plex-Token= —— 其后的值就是你的 Plex 令牌。
  5. 将该值粘贴到游戏内 GUI 的 plexToken 中。
键 默认值 含义
plexUrl "" 服务器 URL(通常端口为 32400)。
plexToken "" Plex 令牌(参见上述步骤)。
plexMoviesEnabled true 显示电影。
plexTvShowsEnabled true 显示电视剧。

Plex 配置

API 密钥和令牌仅保留在服务器端。客户端只接收非机密的公共配置。

显示器

方块 尺寸 音频范围
紧凑型电视 3 × 2 16
壁挂电视 6 × 4 24
超宽显示器 8 × 4 24
影院屏幕 14 × 8 80
弧形影院屏幕 16 × 7 80

在创建你自己的家庭影院时,使用弧形影院屏幕是观看 4K HDR 内容的最佳方式。(只是我的个人看法)

带眼镜的弧形屏幕

所有屏幕都可以合成,出现在 pixelReel 创造模式标签页中,并且可以通过搜索 television、TV、screen、cinema 或 monitor 找到。

像素眼镜 也可以合成:戴上它可以在附近播放的屏幕全屏显示覆盖层(激活时 HUD 快捷栏/准星隐藏)。

只有活动屏幕区域有碰撞——边框保持可建造,这样你就可以用你自己的方块来框住屏幕。破坏中央/控制器方块会移除整个显示器;玩家的建筑永远不会被触碰。

  • 右键点击显示器:打开媒体菜单。
  • 潜行 + 右键点击:切换电源。
  • 视频会以信箱/柱箱模式适配屏幕宽高比(绝不拉伸);保持其原始宽高比。

选择你的来源媒体选择器电影海报电视剧海报

命令

大多数屏幕操作使用以下命令(需要时看着显示器):

/tv menu                 打开媒体菜单
/tv channels             列出直播频道
/tv channel <n or name>   调谐直播频道
/tv next | previous      切换频道
/tv guide                当前/下一个节目概览
/tv status               电源、频道、流和音量诊断
/tv retry                重新开始播放
/tv reload               重新下载播放列表/指南
/tv stop | resume        暂停/恢复播放
/tv power on|off|toggle  电源控制
/tv volume <0-100>       每显示器音量
/tv rebuild              重建屏幕碰撞而不影响建筑
/tv jellyfin status|refresh|configure

多玩家

显示器状态(类型、电源、频道/媒体、朝向、音量、播放位置)是服务器授权的,并同步到每个客户端,包括后来加入的玩家。

每个客户端使用自己的 VLC 在本地解码流。凭据永远不会存储在世界数据中。