跳转至

监狱🔗


命令🔗

CMI 监狱功能有 4 个命令:

  • /cmi jail [playerName] (time) (jailName) (cellId) (-s) (r:jail_reasson) – 将玩家关入监狱。time 是可选的,如果未定义将使用默认时间。jailName 可选,未定义时选择最近的监狱。cellid 也是可选的,未定义时使用空闲牢房。监狱理由可以是任何你想要的内容,将显示在占位符中。
  • /cmi jailedit – 管理你所有监狱的主要命令。
  • /cmi jaillist – 列出所有监狱及每个监狱的牢房数量和囚犯数量。可以点击获取更详细的信息。
  • /cmi unjail [playerName] – 最后一个但同样重要的,解除玩家的监禁。

配置 (config.yml)🔗

在我们开始创建监狱之前,我们必须查看 config.yml 文件。

Jail:
  # 定义多久(毫秒)检查一次玩家是否离开监狱区域
  # 更大的数字可以略微降低服务器负载
  CheckInterval: 500
  # 当命令未提供时间时使用的默认监狱时间
  DefaultTime: 300
  # 玩家在监狱中时聊天的范围(以方块为单位)
  # 设为 0 允许说话
  # 设为 -1 禁止在监禁期间一般性说话
  ChatRange: 20
  # 设为 true 时,玩家离线期间监狱时间也会减少
  # 设为 false 时,监狱时间只在玩家在线时计算
  CountWhileOffline: false
  # 设为 true 时,如果玩家在监禁期间进入 AFK 模式,监狱时间不会减少
  # 设为 false 时,时间正常流逝
  NoAfk: false
  # 是否要防止玩家在监狱中受到伤害
  PreventDamage: true
  # 是否要防止玩家在监狱中饥饿
  PreventHunger: true
  Commands:
    # 玩家被关入监狱时执行的命令
    OnJail:
    - ''
    # 玩家被释放时执行的命令
    OnUnJail:
    - ''
  WhiteListedCmds:
  - cmi msg
  - cmi reply

根据自己的喜好和需求设置配置。例如,默认监狱时间可能是我们想根据服务器类型更改的内容。默认只有 5 分钟。

聊天范围在你想防止被监禁玩家刷屏时很有用,否则他们还能做什么呢。所以你可以将其限制在特定的方块范围内,允许他们说话但只对附近的玩家,也许是与已经在监狱中的某人。

默认情况下,如果玩家退出登录,监狱时间不会减少。这有助于强制玩家在被监禁的整个时间内都待着,而不是简单地退出登录,等时间结束后再回来。

防止玩家进入 AFK 模式也有帮助,以防玩家在做其他事情(比如做作业)时只是让账户保持登录。(是的,这可能会发生……)

如果你想仍然允许被监禁玩家使用一些基本命令,你可以在白名单中定义它们。

创建监狱🔗

首先,布置一些基本的监狱。这里不需要太花哨。

接下来,让我们使用 CMI 选择工具(默认是木铲)并选择一个区域。你的选择将用粒子效果标记。

接下来让我们用 /cmi jailedit addjail [jailName] 创建新监狱,让我们取一个极其原创的监狱名,命名为 myJail,命令看起来像这样:/cmi jailedit addjail myJail

之后,你将得到现有监狱的列表,你应该看到你新建的那个。

现在是简单部分(是的,那是最难的部分,谁知道怎么建造监狱呢……)在聊天中点击你新的监狱来创建新牢房。对于新建的监狱,你只会看到 [+] 号。所以去第一个牢房并按那个 [+] 按钮。你将得到现有牢房的列表,其中应包括你的新牢房。

重复此步骤任意次数。你可以拥有的牢房数量没有限制。但一般来说,它们应该相互分开,虽不受限制,但这是一般经验法则。毕竟,我们不希望囚犯计划越狱!

此时,你已经有一个可用的监狱。不过,可以注意到一些小的不便。那些熬过了 5 分钟监狱时间的玩家仍会留在监狱中,尽管他们不再是官方监禁状态。所以让我们摆脱不再被监禁的玩家,设置外部传送位置。如之前看到的,有一个灰色 [tp] 按钮。让我们旅行到监狱外的一个位置并点击它。你会得到一条确认消息,如"Set new outside location"(设置新的外部位置)。之后,你可以将此位置更改为任何你想要的位置。

所以现在你完成了。你有一个带牢房和外部位置的监狱,玩家获释后会前往该位置。

额外功能 (Bonus Stuff)🔗

被监禁的玩家会收到一条 Bossbar 消息,显示他们被监禁的时间。这也很棒!

监狱告示牌 (Jail Signs)🔗

如果你想向其他人展示谁被关在这里以及被关多久,你有 2 个选项:使用动态告示牌或使用全息图。

让我们设置告示牌。放置一个告示牌,位置无所谓。然后用 /cmi dsign new 创建新的动态告示牌,之后你会得到类似的东西(见素材截图)。

它不那么花哨,但它做了它该做的。

让我们添加如下新行:

%cmi_jail_time_myJail_1%
%cmi_jail_username_myJail_1%
%cmi_jail_reason_myJail_1%

这将显示监禁时间、谁被监禁以及原因(如果在监禁玩家时定义了原因)。

你可以打开动态告示牌 GUI(Open GUI)并降低默认刷新率,如果你想让它更快,但一般来说,对于监狱牢房,默认时间就足够了。

监狱全息图 (Jail Holograms)🔗

对于那些喜欢花哨东西的人,让我们制作全息图。站在你想要放置全息图的地方,执行类似 /cmi hologram new myJailCell1 的命令,其中 myJailCell1 只是一个随机的全息图名。

看起来眼熟吗?是的,确实如此。所以让我们添加行:

%cmi_jail_time_myJail_1%
%cmi_jail_username_myJail_1%
%cmi_jail_reason_myJail_1%

这将像添加动态告示牌一样添加被监禁玩家的信息。请注意,默认的全息图更新间隔可能不足以实现平滑更新,所以打开 GUI(打开设置 GUI)并将更新间隔设置为类似 1 秒。 (内容由AI生成,仅供参考)