跳到正文

Open Parties and Claims

作者:thexaero

添加了认领区块和组建玩家队伍的功能,并与Xaero的小地图和世界地图集成。

收藏

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

_该模组目前处于 Beta 阶段!_

该模组添加了认领和强制加载世界区块的功能,以及创建和管理玩家队伍的功能。它还为服务器所有者提供了强大的控制手段,可以管理玩家对该模组功能的使用。

默认情况下,认领归单个玩家所有,玩家可以根据队伍关系或自定义玩家组设置保护例外。服务器所有者也可以开启队伍认领功能,具体说明见下方 FAQ。

该模组的 API 允许其他模组或插件轻松地与队伍和区块认领进行交互,无论是在服务端还是客户端。该模组已经与 Xaero的小地图 和 Xaero的世界地图 模组集成。请确保将它们更新到最新版本。

该模组的 API 允许实现玩家权限系统,供模组用于某些权限节点(例如用于基于等级的认领上限),内置支持 Prometheus、FTB Ranks、LuckPerms 以及 Forge/Fabric 权限 API。它还允许实现队伍系统,供认领功能与默认队伍系统并行使用或替代默认队伍系统,内置支持 Argonauts 和 FTB Teams。默认队伍系统或认领功能可以在主配置文件中完全禁用。

命令(自 0.30.0 起):

/opac … – 玩家配置命令(服务器认领、荒野和过期认领也有对应的“玩家配置”)

/oclaims … – 所有与认领相关的操作

/oparties … – 所有与队伍相关的操作

/opm – 队伍聊天的快捷方式

按键绑定:

‘ – 打开模组界面。可在控制菜单中更改。

配置文件:

[世界目录]/serverconfig/openpartiesandclaims-server.toml – 主配置文件的常见位置。编辑前请确保关闭服务器,否则服务器可能会覆盖你的所有更改。

[服务器目录]/config/openpartiesandclaims-server.toml – 在 Fabric/Quilt 上主配置文件有时会位于此位置。

[世界目录]/serverconfig/openpartiesandclaims-… – 一些全局“玩家配置”,不过所有这些都可以通过游戏内界面访问

权限节点(自 0.33.0 起):

该模组因各种原因查找的权限节点不仅仅是静态路径。它们可以在主配置文件中配置,例如选项“maxPlayerClaimsPermission”。所使用的权限系统(FTB Ranks、LuckPerms 等)可以通过主配置文件中的“permissionSystem”选项进行配置。

如果你或你使用的整合包没有更改权限节点,那么权限节点路径应如下所示:

  • “xaero.pac\_max\_player\_groups” – 元值权限,应覆盖主配置中默认的 “maxPlayerGroups” 选项值。
  • “xaero.pac\_player\_group\_space” – 元值权限,应覆盖主配置中默认的 “playerGroupSpace” 选项值。
  • “xaero.pac\_max\_claims” – 元值权限,应覆盖主配置中默认的 “maxPlayerClaims” 选项值。
  • “xaero.pac\_max\_forceloads” – 元值权限,应覆盖主配置中默认的 “maxPlayerClaimForceloads” 选项值。
  • “xaero.pac\_max\_claiming\_anchors” – 元值权限,应覆盖主配置中默认的 “maxPlayerClaimingAnchors” 选项值。
  • “xaero.pac\_claiming\_anchor\_range” – 元值权限,应覆盖主配置中默认的 “claimingAnchorRange” 选项值。
  • “xaero.pac\_server\_claims” – 该权限赋予非 OP 玩家创建服务器领地并启用服务器领地模式的能力。
  • “xaero.pac\_claims\_moderator\_mode” – 该权限赋予非 OP 玩家启用领地管理员模式的能力,使其能够查看团队所有领地的玩家所有者。
  • “xaero.pac\_claims\_admin\_mode” – 该权限赋予非 OP 玩家启用领地管理原模式的能力,除管理员模式功能外,还使其能够绕过绝大多数领地相关限制,例如保护、最大领地距离、无法认领区块等。
  • “xaero.pac\_claims\_impersonation” – 该权限赋予非 OP 玩家在执行领地相关操作时冒充其他玩家的能力。
  • “xaero.pac\_claims\_teleport” – 该权限赋予非 OP 玩家传送到任意玩家领地的能力。
  • “xaero.pac\_parties\_admin\_mode” – 该权限赋予非 OP 玩家启用团队管理原模式的能力,使其能够查看所有内置团队系统团队的团队聊天消息。
  • “xaero.pac\_parties\_impersonation” – 该权限赋予非 OP 玩家在执行团队相关命令时冒充其他玩家的能力。
  • “xaero.pac\_claiming\_paused” – 该权限暂停拥有该权限的玩家的领地认领功能。
  • “xaero.pac\_new\_forceloads\_paused” – 该权限暂停拥有该权限的玩家标记新区块以进行强制加载的能力。

常见问题

1) 如何在服务器上配置该模组?

该模组主要通过主配置文件进行配置,文件位于 _[世界目录]/serverconfig/openpartiesandclaims-server.toml_,在 Fabric/Quilt 上有时位于 _[服务器目录]/config/openpartiesandclaims-server.toml_,配置时服务器需未运行。服务器领地、过期领地和荒野配置以及默认玩家配置,可由 OP 在游戏内通过 UI 编辑(请查看你的按键绑定)。普通玩家可以使用相同的 UI 配置自己的玩家配置。如果客户端未安装该模组,则可以使用玩家配置聊天命令代替。

2) 作为普通玩家如何使用该模组?

大多数与领地相关的内容都可以通过游戏内 UI 访问(请查看你的按键绑定)。如果你安装了 Xaero’s World Map 模组,也可以在地图界面上查看和编辑你的领地,方法是右键点击地图或按住鼠标右键拖动进行选择。你也可以使用聊天命令来创建/编辑领地。团队目前只能通过聊天命令创建和管理。

3) 为什么我的玩家配置中有些选项是灰色的?

服务器管理员/所有者可以通过主配置文件选项 _playerConfigurablePlayerConfigOptions_ 来配置玩家可以访问哪些具体选项。其他所有内容都使用默认玩家配置中的值。

4) 如何禁用我服务器上的所有保护?

在服务器领地、过期领地和荒野配置以及默认玩家配置中,禁用主保护选项。接下来,在服务器未运行时,编辑配置文件 _[世界目录]/serverconfig/openpartiesandclaims-server.toml_。从 _playerConfigurablePlayerConfigOptions_ 中移除主选项 _claims.protectClaimedChunks_。

5) 如何为特定方块、实体/生物的交互或破坏/攻击,或使用物品添加领地保护例外?

该模组预配置了一些全局例外,以及一些你可以在各个领地中切换的默认例外组。强制例外和可按领地切换的例外都可以通过主配置文件 _[世界目录]/serverconfig/openpartiesandclaims-server.toml_(有时在 _[服务器目录]/config_ 中)添加。必须在服务器未运行时编辑/替换该文件,以确保它在服务器重启时不会被覆盖。对于在每个领地上强制生效的例外,你感兴趣的选项是 _forcedBlockProtectionExceptionList、forcedEntityProtectionExceptionList、itemUseProtectionExceptionList_。对于可按领地切换的例外组,类似于默认的例外组(控制、门、商人、牲畜),你感兴趣的选项是 _blockProtectionOptionalExceptionGroups、entityProtectionOptionalExceptionGroups、itemUseProtectionOptionalExceptionGroups_。你可以添加新组或编辑现有组。请仔细阅读选项上方的注释。它们包含关键信息,放在这里会占用太多空间。

6) 如何让特定实体/生物类型访问方块、实体或掉落物品(例如让僵尸攻击村民)?

强制例外和可按领地切换的例外都可以通过主配置文件 _[世界目录]/serverconfig/openpartiesandclaims-server.toml_(有时在 _[服务器目录]/config_ 中)添加。必须在服务器未运行时编辑/替换该文件,以确保它在服务器重启时不会被覆盖。要强制特定实体在所有领地上拥有访问权限,你感兴趣的选项是 _entitiesAllowedToGrief、entitiesAllowedToGriefEntities、entitiesAllowedToGriefDroppedItems_。对于可按领地切换的访问组,类似于默认的访问组(村民、僵尸、猪灵、狐狸),选项是 _blockAccessEntityGroups、entityAccessEntityGroups、droppedItemAccessEntityGroups_。对于从它们所绑定的特定方块位置操作的“假玩家”,通常是自动化机器的一部分,请查看 _staticFakePlayers_ 选项。请仔细阅读选项上方的注释。它们包含关键信息,放在这里会占用太多空间。

7) 如何允许特定弹射物落在方块或实体上(例如让风弹击中方块或实体)?

当投掷物落入受保护的已认领区块时,首先会进行非破坏性的常规交互检查,即使该投掷物本应破坏某些东西。如果投掷物属于对该区块拥有相关权限的玩家,或者该投掷物具有相关例外(无论是方块访问还是实体访问),则允许投掷物落地。上一个问题(即上方的问题)的答案解释了服务器所有者如何添加此类例外。你很可能希望使用主配置文件 _\[世界目录\]/serverconfig/openpartiesandclaims-server.toml_(有时位于 _\[服务器目录\]/config_)中的 _blockAccessEntityGroups_ 和 _entityAccessEntityGroups_ 选项来为投掷物创建例外组。如果这样做,请确保将为其创建的玩家配置选项也添加到 _playerConfigurablePlayerConfigOptions_ 列表中,以允许玩家配置它们。可以参考村民和僵尸组的做法作为示例。

8) 如何启用队伍拥有的认领?

将主配置文件 _[世界目录]/serverconfig/openpartiesandclaims-server.toml_(有时位于 _[服务器目录]/config_)中的 _partyOwnedClaims_ 选项设置为 _true_,这样如果技术上拥有认领的玩家同时也是主队伍系统(主配置文件中的 _primaryPartySystem_ 选项)中某个队伍的拥有者,那么他们的认领实际上会被视为由队伍本身拥有。

  • 这使其他队伍成员能够使用队伍认领模式以队伍名义进行认领(如果他们拥有权限:在默认队伍系统中至少为 CLAIMER 等级,在 FTB Teams 中为 Officer,在 Argonauts/Odyssey Allies 中为除 TP_MEMBERS 以外的任何成员权限)。如果在队伍拥有者的配置中启用了“整个队伍可认领”(或由默认玩家配置强制执行),那么队伍中的每个玩家都可以以队伍名义认领/取消认领。
  • 这使其他队伍成员能够编辑队伍认领配置(队伍拥有者配置中与认领相关的选项),前提是他们拥有权限(在默认队伍系统中至少为 ADMIN 等级,在 FTB Teams 中仅限拥有者,在 Argonauts/Odyssey Allies 中为 MANAGE_SETTINGS)。
  • 这使其他队伍成员能够管理队伍认领配置的自定义玩家组中的玩家(在默认队伍系统中至少为 MODERATOR 等级,在 FTB Teams 中为 Officer,在 Argonauts/Odyssey Allies 中为 MANAGE_MEMBERS)。
  • 这使其他队伍成员能够编辑队伍认领配置的自定义玩家组,而不仅仅是管理玩家(在默认队伍系统中为 ADMIN,在 FTB Teams 中仅限拥有者,在 Argonauts/Odyssey Allies 中为 MANAGE_SETTINGS)。
  • 如果所选的主队伍系统支持队伍颜色(例如 FTB Teams),那么队伍认领的默认颜色为队伍颜色,而非队伍拥有者的随机颜色。
  • 服务器所有者可以使用主配置文件中的 _claimBonusPerPartyMember_、_forceloadBonusPerPartyMember_、_claimingAnchorBonusPerPartyMember_、_claimBonusForPartyOwner_、_forceloadBonusForPartyOwner_ 和 _claimingAnchorBonusForPartyOwner_ 选项来配置可用认领、强制加载和认领锚点如何随队伍规模和存在情况而变化。请阅读这些选项上方的注释以获取详细说明。

9) 如何启用基于锚点的认领来限制玩家可以拥有多少个独立的认领区域?

在主配置文件 _[世界目录]/serverconfig/openpartiesandclaims-server.toml_(有时位于 _[服务器目录]/config_)中将 _anchorBasedClaiming_ 选项设置为 _true_,玩家即可获得有限数量的圈地锚,放置在世界中后便能圈占其周围的区块。每个维度都有独立的锚点上限。默认上限(适用于每个维度)可通过 _maxPlayerClaimingAnchors_ 选项更改。若要调整特定维度的上限,可在荒野配置(通过游戏内 UI 或聊天命令访问)中创建一个子配置,以维度 ID 作为子配置 ID,并将该子配置中的 _”+ Claiming Anchors”_ 选项设置为一个数字。单个玩家也可以在其玩家配置中设置相同的选项。圈地锚的有效范围也可用相同方式配置,使用主配置文件中的 _claimingAnchorRange_ 选项,以及荒野和/或玩家配置中的 _”+ Cl. Anchor Range”_ 选项。

默认圈地锚上限和默认圈地锚范围均可通过使用选项 _maxPlayerClaimingAnchorsPermission_ 和 _claimingAnchorRangePermission_ 配置的权限节点来覆盖。默认节点为 _xaero.pac_max_claiming_anchors_ 和 _xaero.pac_claiming_anchor_range_。

支持的模组:

许多(通常较小的)模组应当会自动受到已圈占区块保护的支持。有些模组在其添加或修改的游戏机制上超出了常规范围,此时区块保护无法保证生效,应手动添加支持,可以添加到本模组或借助其他模组。欢迎在问题追踪器上留下你希望获得支持的模组建议。请务必先进行测试,确认它们尚未被支持,并提供使用该模组可实现的区块破坏示例。

明确支持的模组:

  • (自 b0.8.0 起)Create – 已内置于 Forge 版本中,但在 b0.25.1 之前,在 Fabric/Quilt 上使用时需要一个扩展

评论

登录后评论和评分

thexaero 的其他作品

查看全部 →