跳转至

随机传送🔗


随机传送介绍🔗

CMI 随机传送功能允许服务器所有者将玩家强制传送到世界中的一个随机位置。

它对某些活动、自定义别名非常方便,或者用于它最常被使用的 /rtp 命令。

配置 /rtp 命令🔗

有几种方法可以配置 /cmi rt 命令,在许多服务器上它通常被称为 /rtp。

Alias.yml 方法:

打开 Alias.yml 文件,找到 /rt 和 /rtp 命令,并在 enabled: 后面设置为 true,然后保存文件。

  # /cmi rt $1-
  /rt:
    Enabled: true
    Tab: true
  /rtp:
    Enabled: true
    Tab: true

保存文件后,你可以执行 /cmi reload,然后就可以立即使用这些命令了。然而,在较新版本的 Minecraft 中,这些会显示为红色,直到你做 /stop 然后再次启动服务器。

AliasEditor 方法:

在游戏内,你可以输入 /cmi aliaseditor 命令创建一个新的 /rtp 命令,输入后,按下绿色的 + 图标,然后你把它命名为 rtp,然后下一个绿色 + 图标将让你添加(多个)命令。你可以用它来播放粒子、延迟、给予自定义消息、actionmsg 等命令。并把完整的 cmi rt 命令作为控制台命令运行,以强制到某个世界等。

下面是一个 cmi-rtp-cmd.yml 文件的示例,你可以把它放到 plugins/CMI/CustomAlias/ 文件夹中(然后 /cmi reload 或重启服务器)。

CustomAlias:
  rtp:
    Cmds:
    - asConsole! cmi sound block_conduit_deactivate [playerName]
    - asConsole! cmi titlemsg [playerName] &6⸭ ⸭ ⸭\n&fCharging teleporter
    - delay! 3
    - asConsole! cmi titlemsg [playerName] &6⸭ ⸭ ⸭\n&fTeleporter is ready!
    - asConsole! cmi rt [playerName]
    - delay! 0.2
    - asConsole! cmi sound entity_generic_explode [playerName]

这个示例展示了如何播放声音、添加延迟、显示自定义标题消息、运行 cmi rt 命令,并播放结束音效。你当然可以让自定义 aliaseditor 制作的 /rtp 命令做任何你想做的事。包括调用命令 /random 或 /rt 或 /teleporter。

配置(命令 / config.yml)🔗

有几种方法可以(自动)配置你的 /cmi rt 行为。有相当多的 config.yml 设置,以及一些游戏内命令。确保你的全局和/或每个世界特定的设置被正确配置,以避免不想要的结果。

命令:(完整语法,请参见本页更下方)

/cmi setrt world center:0,0 min:250 max:5000 square enabled

Config.yml:

RandomTeleportation:
  # 如果设置为 true,我们将为所有检测到的世界生成随机传送默认设置
  # 设置为 false 将不再生成世界设置,但你可以手动添加它们
  AutoGenerateWorlds: true
  Worlds:
    # 要使用此功能的世界名。添加另一个具有适当名称的世界以启用随机传送
    world:
      Enabled: true
      # 要传送的最大坐标,设置为 1000,玩家可以在定义的中心位置之间的 -1000 和 1000 方块内被传送
      # 例如 centerX 为 2000 且 centerZ 为 3000 而 MaxRange 设置为 1500,我们将把玩家传送到 x:500;z:1500 和 x:3500;z:4500 坐标之间
      MaxRange: 1000
      # 如果 maxcord 设置为 1000 且 mincord 设置为 500,那么玩家可以在 -1000 到 -500 和 1000 到 500 坐标之间被传送
      MinRange: 500
      CenterX: 0
      CenterZ: 0
      Circle: false
      IgnoreWater: true
      IgnoreLava: true
      ignorePowderSnow: false
      minY: -50
      maxY: 300
    world_nether:
      Enabled: true
      MaxRange: 25000
      MinRange: 100
      CenterX: 25
      CenterZ: -50
      Circle: true
      IgnoreWater: false
      IgnoreLava: true
      ignorePowderSnow: false
      minY: 0
      maxY: 128
    world_the_end:
      Enabled: true
      MaxRange: 1000
      MinRange: 500
      CenterX: 0
      CenterZ: 0
      Circle: false
      IgnoreWater: true
      IgnoreLava: true
      ignorePowderSnow: true
      minY: 0
      maxY: 256
  # 强制玩家在再次使用命令之前等待多长时间。
  Cooldown: 5
  # 尝试找到正确传送位置多少次。
  # 保持较低的数字,因为玩家在延迟后总是可以重试
  MaxTries: 20
  # 从随机传送中排除的生物群系列表
  ExcludedBiomes:
  - Ocean
  - Deep ocean

读条、冷却与命令费用🔗

CMI 允许你配置命令冷却、读条(warmup)和运行命令的费用。你可以在 config.yml 文件中配置这些。

注意,CMI 的 RT 功能(见上文)有一个 Cooldown: 设置。

Config.yml 有一个 WarmUps: 部分,你可以在其中添加 cmi rt 命令。当然,确保该功能设置为 enabled: true。

对于管理在 CMI 中运行命令的费用,请查看文件:commandCost.yml。

RT 重定向🔗

你可以使用 CMI 的专用命令功能来更新你的 /rtp 命令,以识别玩家在例如 /lobby 或 /spawn 世界中输入 /rtp,并让他们实际上在一个不同的世界随机传送(重定向 rt)。

这目前只在你制作一个自定义 aliaseditor 制作的 /rt 或 /rtp 命令时有效(学习如何做请参见本页更上方)。

编辑你的自定义 /rtp 命令,在你已有的任何内容之前,添加类似这样的内容:

ifinworld:spawn! asConsole! cmi rt [playerName] world_survival
ifinworld:lobby! asConsole! cmi rt [playerName] world_games

RT 的有限使用🔗

一些服务器所有者希望玩家只使用一次 /rtp 命令或只使用几次。这个信息展示了一个如何实现这一点的示例。

这目前只在你制作一个自定义 aliaseditor 制作的 /rt 或 /rtp 命令时有效(学习如何做请参见本页更上方)。

编辑你的自定义 /rtp 命令,并调整它做以下事情:

perm:cmi.onetimertp! msg! [playerName] Sorry, you could only use /rtp once.
perm:cmi.onetimertp@! asConsole! cmi rt [playerName] %cmi_player_world%
perm:cmi.onetimertp@! asConsole! lp user [playerName] permission set cmi.onetimertp true

如果你想将 /rtp 的使用限制为比如 3 或 5 次,你可能不得不调整命令来读取和设置/增加 /cmi usermeta。 [需要更多信息] [usermeta 的别名需要创建和测试]

命令、权限与占位符🔗

命令:(此处列出传送相关命令)

> cmi checkcommand rt
 --------------------------------------------------
/cmi setrt (worldName) (center:[x]:[z]) (min:[range]) (max:[range]) (square/circle) (enabled/disabled)
/cmi rt (playerName) (worldName) (-s)
>

权限:

> cmi checkperm rt
 --------------------------------------------------
 cmi.command.rt - 传送到随机位置
 cmi.safeteleport.bypass.[lava/void/suffocation/unknown/plugin/unsafeteleportation/noperm] - 允许无需确认传送到不安全位置
 cmi.command.setrt - 设置随机传送边界
 cmi.teleport.with.[entitytype] - 允许带定义的坐骑传送
 cmi.command.tpbypass - 绕过传送到不安全位置
 cmi.warmupbypass.[commandname] - 允许绕过特定的 CMI 命令读条
 cmi.randomteleport.cooldownbypass - 允许绕过随机传送冷却
 cmi.teleport.bypassblacklist - 允许绕过带黑名单物品传送的保护
 cmi.command.rt.others - 传送到随机位置
 cmi.chorusteleport - 允许使用紫颂果传送
 cmi.safeteleport - 防止传送到不安全位置
>

占位符:(没有 rt 占位符,但这些相当有用)

%cmi_user_backloc%
%cmi_player_world%
%cmi_player_x%
%cmi_player_y%
%cmi_player_z%
%cmi_player_biome%
(内容由AI生成,仅供参考)