🏷️ ID#
#bs.id:help
Manage entity IDs, essential in scenarios like shooting games where you need to track who is targeting whom.
“We know what we are, but know not what we may be.”
—William Shakespeare
🔧 Functions#
You can find below all functions available in this module.
Give simple unique ID#
- #bs.id:give_suid
Give a unique
bs.id
score to each entity.- Inputs:
Execution
as <entities>
: Entities to assign an ID to.- Outputs:
Score
@s bs.id
: Generated simple unique id.
Give an ID to all players:
# 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
# See the result
scoreboard objective setdisplay sidebar bs.id
Credits: Aksiome, KubbyDev
Give chain unique ID#
- #bs.id:give_cuid
Give a unique
bs.cid
score to each entity.- Inputs:
Execution
as <entities>
: Entities to assign an ID to.- Outputs:
Score
@s bs.cid
: Generated chain unique id.
How it works
The chain ID is similar to the simple ID. However with chain IDs, you can use the function #bs.id:update_cuids
to make sure there are no gaps in the ID sequence, thus creating a continuous chain.
Give an ID to all players:
# 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
# See the result
scoreboard objective setdisplay sidebar bs.cid
Credits: Aksiome, KubbyDev
Update chain unique ID#
- #bs.id:update_cuids
Update all entities CUIDs to ensure the chain is continuous.
Ensure the chain is free of gaps and duplicates:
function #bs.id:update_cuids
# See the result
scoreboard objective setdisplay sidebar bs.cid
Credits: Aksiome, KubbyDev
👁️ Predicates#
You can find below all predicates available in this module.
Check simple unique ID#
- bs.id:has_suid
Determine if an entity has a
bs.id
score.
Give an suid to all entities that aren’t identified by a bs.id
score:
execute as @e[predicate=!bs.id:has_suid] run function #bs.id:give_suid
- bs.id:suid_equal
Find an entity that has the same
bs.id
as the input value.- Inputs:
Score
$id.suid bs.in
: Value to check against.
Find the entity that has a bs.id
equal to 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
Filter entities that have a
bs.id
less than or equal to the input value.- Inputs:
Score
$id.suid bs.in
: Value to check against.
Filter entities that have a bs.id
less than or equal to 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
Filter entities that have a
bs.id
greater than or equal to the input value.- Inputs:
Score
$id.suid bs.in
: Value to check against.
Filter entities that have a bs.id
greater than or equal to 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
Filter entities that have a
bs.id
between the given values.- Inputs:
Score
$id.suid.min bs.in
: Min value to check against.Score
$id.suid.max bs.in
: Max value to check against.
Filter entities that have a bs.id
between 2 and 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
Credits: Aksiome
Check chain unique ID#
- bs.id:has_cuid
Determine if an entity has a
bs.cid
score.
Give an cuid to all entities that aren’t identified by a bs.cid
score:
execute as @e[predicate=!bs.id:has_cuid] run function #bs.id:give_cuid
- bs.id:cuid_equal
Find an entity that has the same
bs.cid
as the input value.- Inputs:
Score
$id.cuid bs.in
: Value to check against.
Find the entity that has a bs.cid
equal to 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
Filter entities that have a
bs.cid
less than or equal to the input value.- Inputs:
Score
$id.cuid bs.in
: Value to check against.
Filter entities that have a bs.cid
less than or equal to 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
Filter entities that have a
bs.cid
greater than or equal to the input value.- Inputs:
Score
$id.cuid bs.in
: Value to check against.
Filter entities that have a bs.cid
greater than or equal to 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
Filter entities that have a
bs.cid
between the given values.- Inputs:
Score
$id.cuid.min bs.in
: Min value to check against.Score
$id.cuid.max bs.in
: Max value to check against.
Filter entities that have a bs.cid
between 2 and 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
Credits: Aksiome
💬 Did it help you?
Feel free to leave your questions and feedbacks below!