# ============================================================
# pid:player/sync_pid  （由 pid:tick 以 execute as @s=待同步玩家 呼叫）
# 執行者（@s）：需要同步 PID 的玩家
# 功能：讀取 @s 的 UUID，呼叫 DB 查詢確認是否已有 PID 紀錄
# ============================================================

# 將 @s 的 UUID 存入暫存區，供後續 macro 函式讀取
# UUID 是 Minecraft 玩家的永久唯一識別碼，即使改名也不會改變
# 格式：[I;a,b,c,d]（四個 int 組成的陣列，Minecraft 內部 UUID 格式）
data modify storage pid:temp player_uuid set from entity @s UUID

function pid:player/get_name

# 以 pid:temp 的內容作為 macro 參數呼叫 get_pid
# get_pid 是 macro 函式，接收 player_uuid 並查詢 DB
# 查詢結果：存在 → sync_existing（同步既有 PID）；不存在 → assign_new（分配新 PID）
function pid:db/get_pid with storage pid:temp