🏷️ 编号(ID)#
#bs.id:help
管理实体ID,在需要追踪谁在瞄准谁等场景(如射击游戏)中至关重要。
“我们知道自己是谁,却不知道自己能成为谁。”
—威廉·莎士比亚(William Shakespeare)
🔧 函数#
你可以在下方找到此模块中的所有可用函数。
给予简单唯一ID#
- #bs.id:give_suid
给每个实体一个唯一的
bs.id分数。- 输入:
执行
as <实体>:要分配ID的实体。- 输出:
分数
@s bs.id:生成的简单唯一ID。
示例:给所有玩家一个ID:
# Give an ID to all players who don't already have one
execute as @a[predicate=!bs.id:has_suid] run function #bs.id:give_suid
# Display the results in the sidebar
scoreboard objective setdisplay sidebar bs.id
制作人员:Aksiome、KubbyDev
给予链式唯一ID#
- #bs.id:give_cuid
给每个实体一个唯一的
bs.cid分数。- 输入:
执行
as <实体>:要分配ID的实体。- 输出:
分数
@s bs.cid:生成的链式唯一ID。
工作原理?
链式ID类似于简单ID。但是,使用链式ID时,你可以使用 #bs.id:update_cuids 函数来确保ID序列中没有空隙,从而创建一个连续的链。
示例:给所有玩家一个ID:
# Give an ID to all players who don't have one
execute as @a[predicate=!bs.id:has_cuid] run function #bs.id:give_cuid
# Display the results in the sidebar
scoreboard objective setdisplay sidebar bs.cid
制作人员:Aksiome、KubbyDev
更新链式唯一ID#
- #bs.id:update_cuids
更新所有实体的链式唯一ID以确保链的连续性。
示例:确保链中没有空隙和重复:
function #bs.id:update_cuids
# See the result
scoreboard objective setdisplay sidebar bs.cid
制作人员:Aksiome、KubbyDev
👁️ 谓词#
你可以在下方找到此模块中的所有可用谓词。
检查简单唯一ID#
- bs.id:has_suid
判断实体是否有
bs.id分数。
示例:给所有没有 bs.id 分数标识的实体一个简单唯一ID:
execute as @e[predicate=!bs.id:has_suid] run function #bs.id:give_suid
- bs.id:suid_equal
查找具有与输入值相同
bs.id的实体。- 输入:
分数
$id.suid bs.in:要检查的值。
示例:查找具有 bs.id 等于 1 的实体:
scoreboard players set $id.suid bs.in 1
execute as @e[predicate=bs.id:suid_equal,limit=1] run say I'm the one
- bs.id:suid_lower
过滤出
bs.id小于或等于输入值的实体。- 输入:
分数
$id.suid bs.in:要检查的值。
示例:过滤出 bs.id 小于或等于 17 的实体:
scoreboard players set $id.suid bs.in 17
execute as @e[predicate=bs.id:suid_lower] run say I'm a minor
- bs.id:suid_upper
过滤出
bs.id大于或等于输入值的实体。- 输入:
分数
$id.suid bs.in:要检查的值。
示例:过滤出 bs.id 大于或等于 18 的实体:
scoreboard players set $id.suid bs.in 18
execute as @e[predicate=bs.id:suid_upper] run say I'm an adult
- bs.id:suid_match
过滤出
bs.id在给定值之间的实体。- 输入:
分数
$id.suid.min bs.in:要检查的最小值。分数
$id.suid.max bs.in:要检查的最大值。
示例:过滤出 bs.id 在 2 到 4 之间的实体:
scoreboard players set $id.suid.min bs.in 2
scoreboard players set $id.suid.max bs.in 4
execute as @e[predicate=bs.id:suid_match,limit=1] run say In range
制作人员:Aksiome
检查链式唯一ID#
- bs.id:has_cuid
判断实体是否有
bs.cid分数。
示例:给所有没有 bs.cid 分数标识的实体一个链式唯一ID:
execute as @e[predicate=!bs.id:has_cuid] run function #bs.id:give_cuid
- bs.id:cuid_equal
查找具有与输入值相同
bs.cid的实体。- 输入:
分数
$id.cuid bs.in:要检查的值。
示例:查找具有 bs.cid 等于 1 的实体:
scoreboard players set $id.cuid bs.in 1
execute as @e[predicate=bs.id:cuid_equal,limit=1] run say I'm the one
- bs.id:cuid_lower
过滤出
bs.cid小于或等于输入值的实体。- 输入:
分数
$id.cuid bs.in:要检查的值。
示例:过滤出 bs.cid 小于或等于 17 的实体:
scoreboard players set $id.cuid bs.in 17
execute as @e[predicate=bs.id:cuid_lower] run say I'm a minor
- bs.id:cuid_upper
过滤出
bs.cid大于或等于输入值的实体。- 输入:
分数
$id.cuid bs.in:要检查的值。
示例:过滤出 bs.cid 大于或等于 18 的实体:
scoreboard players set $id.cuid bs.in 18
execute as @e[predicate=bs.id:cuid_upper] run say I'm an adult
- bs.id:cuid_match
过滤出
bs.cid在给定值之间的实体。- 输入:
分数
$id.cuid.min bs.in:要检查的最小值。分数
$id.cuid.max bs.in:要检查的最大值。
示例:过滤出 bs.cid 在 2 到 4 之间的实体:
scoreboard players set $id.cuid.min bs.in 2
scoreboard players set $id.cuid.max bs.in 4
execute as @e[predicate=bs.id:cuid_match,limit=1] run say In range
制作人员:Aksiome
💬 这对你有帮助吗?
欢迎在下方留下你的问题和反馈!