Difference between revisions of "TrainCarts/Commands/Selectors/zh-cn"
(Created page with "=== 坐标长方体 ===") |
|||
(30 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
TC 添加了命令选择器,用于定位列车或列车上的乘客,类似于 Minecraft 的[https://minecraft.fandom.com/wiki/Target_selectors 目标选择器]。除了基于类型的选择器外,其他 train 属性也可以用来筛选符合特定条件的列车。这些选择器可以与'''其他插件'''一起使用。如果要选择多个玩家或列车为目标,则命令会为每个玩家或列车重复执行。 | TC 添加了命令选择器,用于定位列车或列车上的乘客,类似于 Minecraft 的[https://minecraft.fandom.com/wiki/Target_selectors 目标选择器]。除了基于类型的选择器外,其他 train 属性也可以用来筛选符合特定条件的列车。这些选择器可以与'''其他插件'''一起使用。如果要选择多个玩家或列车为目标,则命令会为每个玩家或列车重复执行。 | ||
− | 存在两个选择器:<code>@train</code>和<code>@ptrain</code> | + | 存在两个选择器:<code>@train</code>和<code>@ptrain</code>。两者都使用相同的选择器条件,这将在本页的其余部分讨论。 |
要快速预览游戏中可用的条件,请使用<code>/train info --train @ptrain[</code>等 TC 命令,该命令会显示支持的条件。 | 要快速预览游戏中可用的条件,请使用<code>/train info --train @ptrain[</code>等 TC 命令,该命令会显示支持的条件。 | ||
Line 18: | Line 18: | ||
|- | |- | ||
| /say hello @ptrain[distance=..5] | | /say hello @ptrain[distance=..5] | ||
− | | 向 5 | + | | 向 5 格及以内的列车上的乘客发送“hello”。 |
|- | |- | ||
| /kick @ptrain[name=train23] | | /kick @ptrain[name=train23] | ||
Line 40: | Line 40: | ||
− | === | + | === 长方体 === |
− | + | <code>x/y/z</code>条件指定了世界上要选择的列车的位置,其指定的是一个长方体区域。也可以指定<code>dx/dy/dz</code>来扩大长方体。如果仅指定 dx/dy/dz,则使用命令执行者的 x/y/z 坐标。可以使用<code>world</code>(世界)条件在特定世界上运行,或从无法推断世界的服务器控制台运行。 | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| @train[x=10..12,y=23..56,z=-100..-80] | | @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] | | @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] | | @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[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] | | @train[world=world_the_end,x=10,y=89,z=-20,dx=-10..10,dy=-10..10,dz=-10..10] | ||
− | | | + | | 指定世界名称可用于定位其他世界的列车。 |
|} | |} | ||
− | |||
− | + | === 距离 === | |
− | === | ||
− | |||
− | + | <code>distance</code>(距离)条件根据与命令执行者之间的距离(球面距离)或指定的长方体来选择列车。 | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| @train[distance=..10] | | @train[distance=..10] | ||
− | | | + | | 距离命令执行者 10 格及以内的所有列车。 |
|- | |- | ||
| @train[distance=1000..] | | @train[distance=1000..] | ||
− | | | + | | 距离命令执行者 1000 格及以外的所有列车。 |
|- | |- | ||
| @train[x=100,y=50,z=-100,distance=..5] | | @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] | | @train[x=10,y=10,z=10,dx=50,dz=50,distance=..10] | ||
− | | | + | | 距离长方体(10, 10, 10)->(60, 10, 60)10 格及以内的所有列车。 |
|} | |} | ||
− | |||
− | + | === 排序和限制 === | |
− | === | ||
− | |||
− | + | <code>sort</code>(排序)和<code>limit</code>(限制)条件可根据距离从多个结果中选取一个结果,或随机选取有限的结果。'''Sort'''支持<code>nearest</code>(最近)、<code>furthest</code>(最远)和<code>random</code>(随机)条件。'''Limit'''必须为一个自然整数。 | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| @train[distance=..100,sort=random,limit=1] | | @train[distance=..100,sort=random,limit=1] | ||
− | | | + | | 随机选择 100 格及以内的 1 辆列车。 |
|- | |- | ||
| @train[distance=..100,sort=nearest,limit=2] | | @train[distance=..100,sort=nearest,limit=2] | ||
− | | | + | | 至多选择 100 格及以内的最近的 2 辆列车。 |
|- | |- | ||
| @train[distance=1000..,sort=furthest,limit=10] | | @train[distance=1000..,sort=furthest,limit=10] | ||
− | | | + | | 至多选择 1000 格及以外的最远的 10 辆列车。 |
|} | |} | ||
− | |||
− | + | === 列车名称 === | |
− | === | ||
− | |||
− | + | <code>name</code>(名称)条件按名称或名称模式选择列车。支持[[Special:MyLanguage/TrainCarts/Signs#Remote_Control|远程控制]]语法中的通配符。 | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| @train[name=train12] | | @train[name=train12] | ||
− | | | + | | 选择名为“train12”的列车。 |
|- | |- | ||
| @train[name=Intercity*Express] | | @train[name=Intercity*Express] | ||
− | | | + | | 选择名称以“Intercity”开头且以“Express”结尾的列车。 |
|- | |- | ||
| @train[name=*] | | @train[name=*] | ||
− | | | + | | 选择世界上所有的列车。 |
|} | |} | ||
− | |||
− | + | === 列车标签 === | |
− | === | ||
− | |||
− | + | <code>tag</code>(标签)条件可以多次指定,可选择列车标签并对其进行筛选。与''name''(名称)条件相同,支持通配符。该条件只检测特定标签是否存在,而不是表示是否只存在某一标签。 | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| @train[tag=mytag] | | @train[tag=mytag] | ||
− | | | + | | 选择具有“mytag”标签的列车。 |
|- | |- | ||
| @train[tag=*fast,tag=!express] | | @train[tag=*fast,tag=!express] | ||
− | | | + | | 选择标签以“fast”结尾,但没有“express”标签的列车。 |
|} | |} | ||
− | |||
− | + | === 乘客数量 === | |
− | === | ||
− | |||
− | + | <code>passengers</code>(乘客)和<code>playerpassengers</code>(玩家乘客)条件选择满足一定数量的(玩家)乘客的列车。支持范围命令来检测“至少”有几位乘客,例如<code>@train[passengers=5..]</code>。 | |
− | |||
− | |||
− | + | === 出轨 === | |
− | === | ||
− | |||
− | + | <code>derailed</code>(脱轨)条件选择已脱轨的列车。例如:<code>@train[derailed=1]</code>或<code>@train[derailed=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>. | 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. | ||
− | |||
− | + | === 速度 === | |
− | === | ||
− | |||
− | + | <code>speed</code>(速度)条件(别名:<code>velocity</code>)选择特定速度的列车。条件检测实际的移动速度,最多不超过列车设定的速度限制。例如:<code>@train[speed=0]</code>选择不行驶的列车。 | |
− | |||
− | |||
− | + | === 其他属性 === | |
− | === | ||
− | |||
− | + | 未来会添加更多属性,但其他属性可用来筛选所选内容。 | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | | | + | | 目的地 |
− | | [[Special:MyLanguage/TrainCarts/PathFinding| | + | | 设置列车的[[Special:MyLanguage/TrainCarts/PathFinding|目的地]]。 |
|- | |- | ||
− | | | + | | 摩擦 |
− | | | + | | 更改列车的摩擦系数(默认为 1)。 |
|- | |- | ||
| gravity | | gravity | ||
− | | | + | | 更改列车的重力系数(默认为 1)。 |
|- | |- | ||
| keepchunksloaded | | keepchunksloaded | ||
− | | | + | | 列车是否保持区块加载。 |
|- | |- | ||
| speedlimit | | speedlimit | ||
− | | | + | | 设置列车限速。 |
|- | |- | ||
| ticket | | ticket | ||
− | | | + | | 与检测标签相同,但使用[[Special:MyLanguage/TrainCarts/Tickets|车票名称]]代替。 |
|- | |- | ||
|} | |} | ||
− |
Latest revision as of 01:34, 29 September 2024
介绍
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 | 与检测标签相同,但使用车票名称代替。 |