自由视角旁观者

自由视角旁观者

“Freecam”的分支,移除了有争议和“被封禁”的功能,并增加了关键功能:隐形自由摄像机视角。

杂项

🎥 Freecam Spectator 简体中文

为玩家提供的自由视角(Freecam)模组——不含作弊优势,且对服务器上的其他所有玩家完全可见。

Minecraft NeoForge Java License Status


功能特性

  • 🎯 无作弊优势的自由视角——移动限制、世界交互和紧急情况处理均继承自 Fair_Freecam
  • 👁️ 视角以玩家半透明的飞行头颅呈现,如同旁观者模式
  • 🧊 玩家本体保持在激活点,不再受自由视角输入控制
  • 🌐 客户端与服务器均需安装——多人游戏时双方必须安装

总览

参数 值
Minecraft 1.21.1
加载器 NeoForge 21.1.244+
Java 21(必需)
NeoForge Mod ID freecam_spectator(NeoForge 不允许在 Mod ID 中使用 -)
项目/产物名称 freecam-spectator
名称 Freecam Spectator
作者 peacefull02(又名 softboundless)
运行端 客户端 + 服务器——联机时两端均需安装
许可证 MIT

关于项目

设计理念

该模组为玩家提供完整的自由视角模式——用于探索世界的自由摄像机——但不提供任何作弊优势,同时保持玩家对服务器上的其他所有人可见。

构建基础

基于 balutaeugen 的 Freecam 模组分支构建——Fair_Freecam。参考副本保存在 landmark/ 中。

该分支已从 1.21.11 移植到 Minecraft 1.21.1 和 NeoForge 21.1.244。

从 Fair_Freecam 原样继承的内容:

  • 移动限制;
  • 世界交互;
  • “冻结”的玩家本体;
  • 紧急情况处理。

新增内容

与 Fair_Freecam 的主要区别:当原始本体保持静止时,自由视角以飞行中的半透明玩家头颅形式向其他玩家呈现。参考截图位于 references/。

半透明头颅

参数 值
透明度 alpha = 0.25
名牌 不显示
对玩家自身可见 否——Freecam 不允许切换视角模式
碰撞箱 无
透视墙壁可见 否
可见对象 处于常规实体追踪范围内的所有玩家

为什么不是服务器上所有玩家都能看到? 无论距离远近都显示会增加不必要的网络流量,而且在未加载的区块中无论如何也无法正常显示。

头颅实现 API

可复用的头颅实现代码位于 neoforge/src/main/java/net/xolt/freecam/spectator/:

  • SpectatorHeadEntity — 同步实体和所有者 UUID;
  • SpectatorHeadManager — 权威的服务器生命周期和用于未来集成的 getHead(UUID) 查找;
  • SpectatorHeadRenderer — 皮肤、两层头颅渲染、透明度和深度测试渲染;
  • FreecamNetwork / FreecamStatePayload — 必需的客户端到服务器同步。

这是为未来前照灯模组预留的集成点。

构建

./gradlew build
./gradlew :neoforge:1.21.1:runClient
./gradlew :neoforge:1.21.1:runServer

NeoForge JAR 输出到 neoforge/versions/1.21.1/build/libs/。

致谢

本模组基于 balutaeugen 的 Fair_Freecam 分支,该分支本身又源自原版 Freecam。两者均以 MIT 许可证分发。

许可证

本项目以 MIT 许可证 分发——参见 LICENSE。