生活村庄

将你的TikTok直播观众变成村民,让他们建设并充实你的Minecraft世界。

把你的直播变成一座村庄。每一份礼物都能盖起一栋房子。

LiveVillage 是一个适用于 Minecraft 1.21.1 的 NeoForge 模组,它可以根据观众在直播中送给你的礼物,实时地发展出一个村庄。每一次捐赠都会放置一栋房子,让一位以捐赠者名字命名的村民入住,并通过真实的道路、路灯和标牌将新家与城镇连接起来。这里没有预制好的内容:城镇会随着观众的目光,一栋接一栋地有机生长。

专为 TikTok LIVE 打造,也可手动使用,或通过任何平台上的任何外部工具使用。

  • 平台状态:目前仅支持 TikTok LIVE。YouTube Live 和 Twitch 支持正在开发中。在此期间,手动命令和 RCON 桥接器
  • 已可配合任何事件源使用——包括上述两个平台。

工作原理

放置房子有三种方式,它们都通过代码中的同一个入口执行,因此行为完全一致:

  1. 手动——由你(或授权的管理员)执行命令。非常适合测试、抽奖以及奖励直播外的观众。
  2. 连接 TikTok LIVE——/lv tiktok connect <用户名> <村庄> 会监听你的直播,并在每次收到礼物时放置一栋房子。YouTube 和 Twitch 已在开发计划中。
  3. 通过外部桥接器(非必需)——项目中包含的一个 Python 桥接器可通过 RCON 与你的服务器通信。如果你的服务器是远程的,或者想将其作为连接任何其他事件源的模板,可以使用此方式。

模组会根据可配置的礼物表来决定礼物会建成哪一栋房子,所以小额礼物会建成小房子,而“钞票枪”则会建成豪宅。

功能特性

有机的城镇发展

  • 房子以随机角度和半径分散在中央广场周围,如果选址离其他房子太近、落在水上或岩浆上,或是在已有道路上方,则会被拒绝。
  • 每块地基都会被平整到其下方真实的平均地面高度——树木、草丛、雪和水都会被忽略,因此斜坡上的房子能稳固坐落,而不会悬空或陷入地下。

真正合理的道路

  • 路径通过成本图上的 A* 寻路算法生成,因此道路会绕过障碍物,而不是强行碾压过去。
  • 斜坡上会自动生成梯田,水上会架桥,沿途有带吊灯的路灯和装饰。

完全无破坏性

  • 每栋房子都会记录其所有改动方块的原先状态。移除房子时,会按相反顺序将地形完全恢复原状。

多村庄支持

  • 可以创建任意数量的城镇,将其中一个设为活动状态,开启或关闭对新房子的接纳,并独立进行重命名、传送、重建或删除。

无需重新编译即可扩展的房屋样式

  • 房屋是以 .nbt 格式存储的结构,分组为皮肤(主题)和模型(等级)。目录存放在 JSON 配置文件中,因此你可以添加自己的建筑——广场、房屋、路灯——并自行将其映射到礼物等级。

村民管理

  • 每栋房子都有自己带工作站的村民,以及一个写有捐赠者名字的标牌。可以按村庄暂停村民的 AI(在长时间直播时很有用),复活命令可以让死去的村民回归。

内置 GUI

  • /lv gui 会打开一个游戏内目录,列出所有命令并附带对应的表单,这样你就不用在直播中死记硬背语法了。

权限系统

  • 分为三个级别:管理员、授权用户(通过 UUID,游戏内授予)和其他所有人。可以把管理权限交给管理员,而无需交出你的服务器。

本地化

  • 已完整翻译为英语和西班牙语。每位玩家都会在自己的 Minecraft 语言设置中看到对应的模组界面。

运行要求

仅针对 TikTok LIVE 连接:需要配套的库模组(列为依赖项——CurseForge 应用会自动为你安装和更新)。手动放置和外部桥接器无需它也能工作。

命令

根命令为 /lv(/livevillage 可作为别名)。所有命令都需要操作员权限等级 2。

村庄

/lv village create <名称> [皮肤]         在你站立的位置创建村庄
/lv village list                          列出所有村庄
/lv village setactive <名称>              选择接收捐赠的村庄
/lv village tp <名称>                     传送到某个村庄
/lv village rename <旧名称> <新名称>      重命名村庄
/lv village open|close <名称>             允许或停止新房子
/lv village ai <名称> on|off              暂停或恢复村民AI
/lv village forceload <名称> on|off       建造时保持区块加载
/lv village regenerate <名称>             重建道路和装饰
/lv village delete <名称>                 删除村庄并恢复地形

房屋

/lv house add <模型> <捐赠者>                         在活动村庄放置一栋房子
/lv house addto <村庄> <模型> <捐赠者>               在特定村庄放置一栋房子
/lv house donate <村庄> <礼物ID> <金币> <礼物>|<捐赠者>
                                                      模拟一次真实捐赠
/lv house list                                        列出房屋及其所有者
/lv house rename <编号> <名称>                        更改标牌上的名字
/lv house tp <编号>                                   传送到某栋房子
/lv house revive                                      复活失踪的村民
/lv house regenerate <编号>                           重建一栋房子
/lv house remove <编号>                               移除房子并恢复地形

礼物

/lv gift list                                       显示礼物与房屋的映射表
/lv gift set monedas <金币> <模型>                   将金币值映射到房屋模型
/lv gift set id <礼物ID> <模型>                     将特定礼物ID映射到模型
/lv gift set tramo <最小值> <最大值> <模型>          将金币区间映射到模型
/lv gift set nombre <模型> <礼物>                   按名称映射礼物
/lv gift remove <编号>                              删除规则
/lv gift test <礼物ID> <金币> <名称>                试运行一条礼物规则而不实际放置
/lv gift log on|off|show                            记录收到的礼物以查找其ID

模型与皮肤

/lv model list                                       列出所有模型
/lv model info <模型>                               查看单个模型的详细信息
/lv model add <ID> <皮肤> <金币> <结构>             注册一个新的房屋模型
/lv model remove <ID>                               移除一个模型
/lv model skin add <名称> <抬升> <广场> <路灯>     注册一种新皮肤
/lv model skin remove <名称>                        移除一种皮肤

TikTok LIVE

/lv tiktok connect <用户名> <村庄>   连接到一个直播并开始监听
/lv tiktok status                    连接状态
/lv tiktok disconnect                停止监听
/lv tiktok diag                      诊断库环境

系统

/lv gui                              打开命令目录
/lv reload                           重新加载配置文件
/lv perm grant|revoke <玩家>         管理授权用户
/lv perm list                        列出授权用户

配置

首次运行时会你的 config/ 文件夹中生成两个 JSON 文件,可以通过 /lv reload 热加载:

  • livevillage-regalos.json — 礼物与房屋的映射表。
  • livevillage-modelos.json — 皮肤与房屋模型的目录。

JSON 文件损坏绝不会导致服务器宕机:模组会发出警告并保留之前的值。


注意事项

  • 与 TikTok 或字节跳动无隶属关系、未经其认可,也未受其赞助。 TikTok 是其各自所有者的商标,此处引用仅为说明模组的连接对象。
  • 直播连接依赖一个第三方非官方库(TikTokLiveJava,作者 jwdeveloper,MIT 许可)。它不是官方 API,因此当平台有所变动时,可能会暂时失效。手动放置和 RCON 桥接器不受影响。
  • 如果你运营的是公共或付费服务器,你有责任确保对捐赠者的回馈方式符合《Minecraft 使用指南》。本模组是一个建造工具,如何使用它取决于你自己。

支持

LiveVillage 是免费的,并且花费了大量时间开发。如果你觉得它有用,并愿意支持它继续发展,可以在这里留下一份心意:https://www.paypal.me/josstv77 完全自愿——模组不会因此设置任何门槛。

反馈

错误报告和功能请求:请在本页面下方留言。