Difference between revisions of "TrainCarts/Commands/Selectors/zh-cn"

From BergerHealer Wiki
Jump to navigation Jump to search
(Created page with "TC 添加了命令选择器,用于定位列车或列车上的乘客,类似于 Minecraft 的[https://minecraft.fandom.com/wiki/Target_selectors @e 选择器]。Besides the...")
 
(40 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
== 介绍 ==
 
== 介绍 ==
  
TC 添加了命令选择器,用于定位列车或列车上的乘客,类似于 Minecraft 的[https://minecraft.fandom.com/wiki/Target_selectors @e 选择器]。Besides the usual position-based selector filters, other train properties can be used to select trains that match specific criteria. These selectors can be used with '''other plugins'''. If a selector targets more than one player/train, then the entire command is repeated for every player/train result.
+
TC 添加了命令选择器,用于定位列车或列车上的乘客,类似于 Minecraft 的[https://minecraft.fandom.com/wiki/Target_selectors 目标选择器]。除了基于类型的选择器外,其他 train 属性也可以用来筛选符合特定条件的列车。这些选择器可以与'''其他插件'''一起使用。如果要选择多个玩家或列车为目标,则命令会为每个玩家或列车重复执行。
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
存在两个选择器:<code>@train</code><code>@ptrain</code>。两者都使用相同的选择器条件,这将在本页的其余部分讨论。
Two selectors exist: <code>@train</code> and <code>@ptrain</code>. Both accept identical selector conditions, which will be discussed on the rest of this page.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
要快速预览游戏中可用的条件,请使用<code>/train info --train @ptrain[</code>等 TC 命令,该命令会显示支持的条件。
To quickly view what conditions are available in-game, use a Traincarts command like <code>/train info --train @ptrain[</code> which will then auto-complete and show suggestions of supported conditions.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 快速命令示例 ===
=== Quick Command Examples ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Example
+
! 实例
! Description
+
! 描述
 
|-
 
|-
 
| /say hello @ptrain[distance=..5]
 
| /say hello @ptrain[distance=..5]
| Message "hello" to the passengers of all trains 5 blocks away or less
+
| 5 格及以内的列车上的乘客发送“hello”。
 
|-
 
|-
 
| /kick @ptrain[name=train23]
 
| /kick @ptrain[name=train23]
| Kicks players inside train with name 'train23'
+
| 踢出名为“train23”的列车上的乘客。
 
|-
 
|-
 
| /train destroy --train @train[destination=InterState5]
 
| /train destroy --train @train[destination=InterState5]
| Destroy the trains heading for InterState5
+
| 销毁目的地为“InterState5”的列车。
 
|-
 
|-
 
| /train eject --train @train[dx=-2..2,dy=-3..3,dz=-2..2]
 
| /train eject --train @train[dx=-2..2,dy=-3..3,dz=-2..2]
| Eject the trains within a cuboid range of the sender
+
| 在以命令执行者为中心设置的长方体范围内弹出列车。
 
|-
 
|-
 
| /train launch 0.5 --options 2 --train @train[tag=express]
 
| /train launch 0.5 --options 2 --train @train[tag=express]
| Launches the train with tag 'express' to a speed of 0.5 over 2 blocks distance
+
| 将带有“express”标签的列车以 0.5 的速度启动到 2 格方块以外的距离。
 
|}
 
|}
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
== 条件 ==
== Conditions ==
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
可以指定多个条件,之间为逻辑与。所有基于数值的条件都支持 Minecraft 范围语法:<code>a..b</code>。例如,<code>-5..5</code>-5 到 5),<code>..6</code>(6 或 更小)和<code>12..</code>(12 或 更大)。在条件前面加上<code>!</code>会使条件反转检测,检测某条件是否“不”。
Multiple conditions can be specified, which are all AND-ed together. All number-based conditions support Minecraft range syntax: <code>a..b</code>. For example, <code>-5..5</code> (-5 to 5), <code>..6</code> (6 or less) and <code>12..</code> (12 or more). Prefixing the condition value with <code>!</code> will make it evaluate as 'not'.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
在下面的所有示例中,若要针对列车上的乘客,可以将<code>@train</code>替换为<code>@ptrain</code>
In all examples below <code>@train</code> can be substituted with <code>@ptrain</code> to instead target the player passengers of the trains.
 
</div>
 
  
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 长方体 ===
=== Position Cuboid ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>x/y/z</code>条件指定了世界上要选择的列车的位置,其指定的是一个长方体区域。也可以指定<code>dx/dy/dz</code>来扩大长方体。如果仅指定 dx/dy/dz,则使用命令执行者的 x/y/z 坐标。可以使用<code>world</code>(世界)条件在特定世界上运行,或从无法推断世界的服务器控制台运行。
The <code>x/y/z</code> conditions specify where on the world trains should be selected. This specifies a cuboid range. The <code>dx/dy/dz</code> can also be specified to grow this cuboid. If only dx/dy/dz are specified, then the x/y/z of the sender is used. The <code>world</code> condition can optionally be specified to operate on other worlds, or to run from a server terminal where no world can be inferred.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
| @train[x=10..12,y=23..56,z=-100..-80]
 
| @train[x=10..12,y=23..56,z=-100..-80]
| All trains in cuboid (10, 23, -100) -> (12, 56, 80)
+
| 选择所有在(10, 23, -100)->(12, 56, 80)内部的列车。
 
|-
 
|-
 
| @train[x=10,y=23,z=-100,dx=2,dy=33,dz=20]
 
| @train[x=10,y=23,z=-100,dx=2,dy=33,dz=20]
| Same as above, but specified with dx/dy/dz to 'grow' the cuboid
+
| 同上,但使用 dx/dy/dz 来“扩大”长方体。
 
|-
 
|-
 
| @train[x=10,y=10,z=10,dx=-2..2,dy=-10..10,dz=-2..2]
 
| @train[x=10,y=10,z=10,dx=-2..2,dy=-10..10,dz=-2..2]
| Complex use: grows the cuboid from point (10, 10, 10) in both directions. This becomes cuboid (8, 0, 8) -> (12, 20, 12)
+
| 复杂使用:从点(10, 10, 10)开始在 y 和 z 两个方向上扩大长方体。将长方体变为(8, 0, 8)->(12, 20, 12)。
 
|-
 
|-
 
| @train[dx=-10..10,dy=-5..5,dz=-10..10]
 
| @train[dx=-10..10,dy=-5..5,dz=-10..10]
| Selects a cuboid around the sender (command block / player) of the command
+
| 在命令执行者(命令方块或玩家)周围选择的长方体。
 
|-
 
|-
 
| @train[world=world_the_end,x=10,y=89,z=-20,dx=-10..10,dy=-10..10,dz=-10..10]
 
| @train[world=world_the_end,x=10,y=89,z=-20,dx=-10..10,dy=-10..10,dz=-10..10]
| The world name to target can be used to target trains on other worlds
+
| 指定世界名称可用于定位其他世界的列车。
 
|}
 
|}
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 距离 ===
=== Distance ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>distance</code>(距离)条件根据与命令执行者之间的距离(球面距离)或指定的长方体来选择列车。
The <code>distance</code> condition filters trains based on distance to the sender, or a cuboid specified. This is a spherical distance.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
| @train[distance=..10]
 
| @train[distance=..10]
| All trains 10 blocks or less away from the sender
+
| 距离命令执行者 10 格及以内的所有列车。
 
|-
 
|-
 
| @train[distance=1000..]
 
| @train[distance=1000..]
| All trains 1000 blocks away or more from the sender
+
| 距离命令执行者 1000 格及以外的所有列车。
 
|-
 
|-
 
| @train[x=100,y=50,z=-100,distance=..5]
 
| @train[x=100,y=50,z=-100,distance=..5]
| All trains 5 blocks or less away from coordinate (100, 50, -100)
+
| 距离坐标(100, 50, -100)5 格及以内的所有列车。
 
|-
 
|-
 
| @train[x=10,y=10,z=10,dx=50,dz=50,distance=..10]
 
| @train[x=10,y=10,z=10,dx=50,dz=50,distance=..10]
| All trains 10 blocks or less away from cuboid (10, 10, 10) -> (60, 10, 60)
+
| 距离长方体(10, 10, 10)->(60, 10, 60)10 格及以内的所有列车。
 
|}
 
|}
</div>
 
  
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 排序和限制 ===
=== Sort and Limit ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>sort</code>(排序)和<code>limit</code>(限制)条件可根据距离从多个结果中选取一个结果,或随机选取有限的结果。'''Sort'''支持<code>nearest</code>(最近)、<code>furthest</code>(最远)和<code>random</code>(随机)条件。'''Limit'''必须为一个自然整数。
The <code>sort</code> and <code>limit</code> conditions can be used to pick a single result from many based on distance, or to pick limited results at random. '''Sort''' supports conditions <code>nearest</code>, <code>furthest</code> and <code>random</code>. '''Limit''' must be a natural integer.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
| @train[distance=..100,sort=random,limit=1]
 
| @train[distance=..100,sort=random,limit=1]
| Picks a single random train 100 blocks away or less
+
| 随机选择 100 格及以内的 1 辆列车。
 
|-
 
|-
 
| @train[distance=..100,sort=nearest,limit=2]
 
| @train[distance=..100,sort=nearest,limit=2]
| Picks at most 2 nearest trains, 100 blocks away or less
+
| 至多选择 100 格及以内的最近的 2 辆列车。
 
|-
 
|-
 
| @train[distance=1000..,sort=furthest,limit=10]
 
| @train[distance=1000..,sort=furthest,limit=10]
| Picks at most 10 trains furthest away, 1000 blocks distance away or more
+
| 至多选择 1000 格及以外的最远的 10 辆列车。
 
|}
 
|}
</div>
 
  
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 列车名称 ===
=== Train Name ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>name</code>(名称)条件按名称或名称模式选择列车。支持[[Special:MyLanguage/TrainCarts/Signs#Remote_Control|远程控制]]语法中的通配符。
The <code>name</code> condition can be used to select trains by name, or a name pattern. Supports the same wildcard pattern rules as the [[Special:MyLanguage/TrainCarts/Signs#Remote_Control|remote control]] syntax.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
| @train[name=train12]
 
| @train[name=train12]
| Selects train with name 'train12'
+
| 选择名为“train12”的列车。
 
|-
 
|-
 
| @train[name=Intercity*Express]
 
| @train[name=Intercity*Express]
| Selects trains with name starting with "Intercity" and ending with "Express"
+
| 选择名称以“Intercity”开头且以“Express”结尾的列车。
 
|-
 
|-
 
| @train[name=*]
 
| @train[name=*]
| Selects all trains on the world
+
| 选择世界上所有的列车。
 
|}
 
|}
</div>
 
  
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 列车标签 ===
=== Train Tags ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>tag</code>(标签)条件可以多次指定,可选择列车标签并对其进行筛选。与''name''(名称)条件相同,支持通配符。该条件只检测特定标签是否存在,而不是表示是否只存在某一标签。
The <code>tag</code> condition, which can be specified multiple times, can be used to select the tags assigned to trains and filter on those. Like the ''name'' condition, this supports a wildcard pattern. This only checks that a particular tag is or isn't present, not that it is the only tag present.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
| @train[tag=mytag]
 
| @train[tag=mytag]
| Selects trains that have tag 'mytag'
+
| 选择具有“mytag”标签的列车。
 
|-
 
|-
 
| @train[tag=*fast,tag=!express]
 
| @train[tag=*fast,tag=!express]
| Selects trains that have a tag ending with 'fast', but do not have tag 'express'
+
| 选择标签以“fast”结尾,但没有“express”标签的列车。
 
|}
 
|}
</div>
 
  
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 乘客数量 ===
=== Passenger Count ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>passengers</code>(乘客)和<code>playerpassengers</code>(玩家乘客)条件选择满足一定数量的(玩家)乘客的列车。支持范围命令来检测“至少”有几位乘客,例如<code>@train[passengers=5..]</code>
The <code>passengers</code> and <code>playerpassengers</code> conditions select the trains that meet a certain number of (player) passengers. This supports the range command to check for 'at least' a number of passengers, such as <code>@train[passengers=5..]</code>
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 出轨 ===
=== Derailed ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>derailed</code>(脱轨)条件选择已脱轨的列车。例如:<code>@train[derailed=1]</code><code>@train[derailed=true]</code>
The <code>derailed</code> condition selects trains that have derailed. For example: <code>@train[derailed=1]</code> or <code>@train[derailed=true]</code>
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 卸载 ===
=== Unloaded ===
 
 
The <code>unloaded</code> condition selects trains that are inside unloaded chunks and are therefore no longer simulated. Example: <code>@train[unloaded=1]</code> or <code>@train[unloaded=true]</code>.
 
The <code>unloaded</code> condition selects trains that are inside unloaded chunks and are therefore no longer simulated. Example: <code>@train[unloaded=1]</code> or <code>@train[unloaded=true]</code>.
 
Trains that keep chunks loaded do not unload.
 
Trains that keep chunks loaded do not unload.
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 速度 ===
=== Speed ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
<code>speed</code>(速度)条件(别名:<code>velocity</code>)选择特定速度的列车。条件检测实际的移动速度,最多不超过列车设定的速度限制。例如:<code>@train[speed=0]</code>选择不行驶的列车。
The <code>speed</code> condition (alias: <code>velocity</code>) selects trains that move at a certain speed. This is the actual movement speed, which is at most the speed limit set for the train. Example: <code>@train[speed=0]</code> for trains that are not moving.
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
=== 其他属性 ===
=== Miscellaneous Properties ===
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
+
未来会添加更多属性,但其他属性可用来筛选所选内容。
More might be added in the future, but the additional properties can be used to filter the selection
 
</div>
 
  
<div lang="en" dir="ltr" class="mw-content-ltr">
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
| destination
+
| 目的地
| [[Special:MyLanguage/TrainCarts/PathFinding|Destination]] set for the train
+
| 设置列车的[[Special:MyLanguage/TrainCarts/PathFinding|目的地]]
 
|-
 
|-
| friction
+
| 摩擦
| Friction modifier of the train (default: 1)
+
| 更改列车的摩擦系数(默认为 1)。
 
|-
 
|-
 
| gravity
 
| gravity
| Gravity modifier of the train (default: 1)
+
| 更改列车的重力系数(默认为 1)。
 
|-
 
|-
 
| keepchunksloaded
 
| keepchunksloaded
| Whether the train keeps nearby chunks loaded
+
| 列车是否保持区块加载。
 
|-
 
|-
 
| speedlimit
 
| speedlimit
| Speed limit set for the train
+
| 设置列车限速。
 
|-
 
|-
 
| ticket
 
| ticket
| Same checks as for tags, but for [[Special:MyLanguage/TrainCarts/Tickets|ticket names]] instead
+
| 与检测标签相同,但使用[[Special:MyLanguage/TrainCarts/Tickets|车票名称]]代替。
 
|-
 
|-
 
|}
 
|}
</div>
 

Latest revision as of 01:34, 29 September 2024

Other languages:
English • ‎中文(中国大陆)‎

« 返回

介绍

TC 添加了命令选择器,用于定位列车或列车上的乘客,类似于 Minecraft 的目标选择器。除了基于类型的选择器外,其他 train 属性也可以用来筛选符合特定条件的列车。这些选择器可以与其他插件一起使用。如果要选择多个玩家或列车为目标,则命令会为每个玩家或列车重复执行。

存在两个选择器:@train@ptrain。两者都使用相同的选择器条件,这将在本页的其余部分讨论。

要快速预览游戏中可用的条件,请使用/train info --train @ptrain[等 TC 命令,该命令会显示支持的条件。

快速命令示例

实例 描述
/say hello @ptrain[distance=..5] 向 5 格及以内的列车上的乘客发送“hello”。
/kick @ptrain[name=train23] 踢出名为“train23”的列车上的乘客。
/train destroy --train @train[destination=InterState5] 销毁目的地为“InterState5”的列车。
/train eject --train @train[dx=-2..2,dy=-3..3,dz=-2..2] 在以命令执行者为中心设置的长方体范围内弹出列车。
/train launch 0.5 --options 2 --train @train[tag=express] 将带有“express”标签的列车以 0.5 的速度启动到 2 格方块以外的距离。

条件

可以指定多个条件,之间为逻辑与。所有基于数值的条件都支持 Minecraft 范围语法:a..b。例如,-5..5(-5 到 5),..6(6 或 更小)和12..(12 或 更大)。在条件前面加上!会使条件反转检测,检测某条件是否“不”。

在下面的所有示例中,若要针对列车上的乘客,可以将@train替换为@ptrain


长方体

x/y/z条件指定了世界上要选择的列车的位置,其指定的是一个长方体区域。也可以指定dx/dy/dz来扩大长方体。如果仅指定 dx/dy/dz,则使用命令执行者的 x/y/z 坐标。可以使用world(世界)条件在特定世界上运行,或从无法推断世界的服务器控制台运行。

@train[x=10..12,y=23..56,z=-100..-80] 选择所有在(10, 23, -100)->(12, 56, 80)内部的列车。
@train[x=10,y=23,z=-100,dx=2,dy=33,dz=20] 同上,但使用 dx/dy/dz 来“扩大”长方体。
@train[x=10,y=10,z=10,dx=-2..2,dy=-10..10,dz=-2..2] 复杂使用:从点(10, 10, 10)开始在 y 和 z 两个方向上扩大长方体。将长方体变为(8, 0, 8)->(12, 20, 12)。
@train[dx=-10..10,dy=-5..5,dz=-10..10] 在命令执行者(命令方块或玩家)周围选择的长方体。
@train[world=world_the_end,x=10,y=89,z=-20,dx=-10..10,dy=-10..10,dz=-10..10] 指定世界名称可用于定位其他世界的列车。

距离

distance(距离)条件根据与命令执行者之间的距离(球面距离)或指定的长方体来选择列车。

@train[distance=..10] 距离命令执行者 10 格及以内的所有列车。
@train[distance=1000..] 距离命令执行者 1000 格及以外的所有列车。
@train[x=100,y=50,z=-100,distance=..5] 距离坐标(100, 50, -100)5 格及以内的所有列车。
@train[x=10,y=10,z=10,dx=50,dz=50,distance=..10] 距离长方体(10, 10, 10)->(60, 10, 60)10 格及以内的所有列车。


排序和限制

sort(排序)和limit(限制)条件可根据距离从多个结果中选取一个结果,或随机选取有限的结果。Sort支持nearest(最近)、furthest(最远)和random(随机)条件。Limit必须为一个自然整数。

@train[distance=..100,sort=random,limit=1] 随机选择 100 格及以内的 1 辆列车。
@train[distance=..100,sort=nearest,limit=2] 至多选择 100 格及以内的最近的 2 辆列车。
@train[distance=1000..,sort=furthest,limit=10] 至多选择 1000 格及以外的最远的 10 辆列车。


列车名称

name(名称)条件按名称或名称模式选择列车。支持远程控制语法中的通配符。

@train[name=train12] 选择名为“train12”的列车。
@train[name=Intercity*Express] 选择名称以“Intercity”开头且以“Express”结尾的列车。
@train[name=*] 选择世界上所有的列车。


列车标签

tag(标签)条件可以多次指定,可选择列车标签并对其进行筛选。与name(名称)条件相同,支持通配符。该条件只检测特定标签是否存在,而不是表示是否只存在某一标签。

@train[tag=mytag] 选择具有“mytag”标签的列车。
@train[tag=*fast,tag=!express] 选择标签以“fast”结尾,但没有“express”标签的列车。


乘客数量

passengers(乘客)和playerpassengers(玩家乘客)条件选择满足一定数量的(玩家)乘客的列车。支持范围命令来检测“至少”有几位乘客,例如@train[passengers=5..]

出轨

derailed(脱轨)条件选择已脱轨的列车。例如:@train[derailed=1]@train[derailed=true]

卸载

The unloaded condition selects trains that are inside unloaded chunks and are therefore no longer simulated. Example: @train[unloaded=1] or @train[unloaded=true]. Trains that keep chunks loaded do not unload.

速度

speed(速度)条件(别名:velocity)选择特定速度的列车。条件检测实际的移动速度,最多不超过列车设定的速度限制。例如:@train[speed=0]选择不行驶的列车。

其他属性

未来会添加更多属性,但其他属性可用来筛选所选内容。

目的地 设置列车的目的地
摩擦 更改列车的摩擦系数(默认为 1)。
gravity 更改列车的重力系数(默认为 1)。
keepchunksloaded 列车是否保持区块加载。
speedlimit 设置列车限速。
ticket 与检测标签相同,但使用车票名称代替。