-
Notifications
You must be signed in to change notification settings - Fork 1
5 2 Home Module
中文版本 | English version
这个模块为每位玩家提供个人 home 列表、默认 home,以及运行期间的 home 发布与订阅。
和 warp 不同,home 完全按玩家个人保存。每位玩家只能看到和管理自己的 home,不会影响其他人的数据。
如果服务器允许玩家长期经营固定地点,例如基地、农场、商店或据点,home 往往会是使用频率最高的功能之一。默认 home 的存在,也让回到常驻地点这件事更方便。
/sethome <name>
/tmphome <name>
/home
/home <name>
/delhome <name>
/renamehome <name> <newName>
/updatehome <name>
/defaulthome <name>
/sharehome <name>
/homes
/homes <page>
/maphome <name> <true|false>
/sharedhome <name>
/sharedhome <name> <disableSafetyCheck>
/sharedhomes
/sharedhomes <page>主要相关的配置有 home.enabled、home.playerMaximum、home.temporaryHomeTtlSeconds、home.sharedHomeMaximum、home.sharedHomeBroadcastCooldownSeconds、home.deleteInvalid、teleporting.delay、teleporting.cooldown、teleporting.preloadEnabled 和 teleporting.defaultSafetyCheck。
当 /home 不带名称时,系统会使用默认 home。home.playerMaximum 用来限制每位玩家可保存的数量,而 home.deleteInvalid=true 时,如果执行 home 传送时发现目标世界不可用,会自动删除对应的无效 home。加载存储时不会因为维度暂时不可用而清理 home。
除了传送本身,这个模块还包含一整套管理操作,例如重命名、设置默认、把已有 home 更新到当前位置,以及查看带分页、支持过滤和排序的 home 列表。单个 home 的管理页还提供带确认的删除、发布与撤回,并在返回列表时保留页码、筛选和排序状态。维度过滤既支持 minecraft:overworld 这样的原始 world id,也支持 overworld、nether、end 这些简写别名。真正执行传送时,同样会受到全局 delay 和 cooldown 的影响。默认是否尝试目标安全检查由 teleporting.defaultSafetyCheck 决定,但目标安全检查只会在目标预加载开启时运行。
/sharehome <name> 会发布一个永久 home,并向当前在线玩家发送订阅入口。每位玩家同时发布的数量由 sharedHomeMaximum 限制,两次广播之间还要遵守 sharedHomeBroadcastCooldownSeconds。订阅数量不设上限;订阅后可通过 /sharedhomes 浏览,或用 /sharedhome <name> 传送。临时 home 不能发布。
发布与订阅是运行时状态,不会写入玩家存储;服务器重启后需要重新发布和订阅。发布方更新、重命名或删除 home 时,系统会按 UUID 继续跟踪或撤回对应发布。已订阅共享 home 的传送遵守与普通 home 相同的延迟、冷却、目标预加载和默认安全检查规则。
如果启用了地图联动,/maphome <name> <true|false> 还可以控制某个 home 是否继续显示在当前玩家自己的地图里。已订阅的共享 home 也可以在 /sharedhomes 中单独控制个人地图可见性。这些操作不会删除 home 本身,也不会影响其他玩家。
如果没有设置默认 home,直接输入 /home 时不会自动替玩家挑选一个点位。另一方面,当某个 home 所在维度已经失效时,是否在传送尝试中自动清理,取决于 home.deleteInvalid 的设置。