# ============================================================
# pid:player/get_name  （由 pid:player/sync_pid 及 pid:db/sync_existing 呼叫）
# 執行者（@s）：需要取得名稱的玩家
# 功能：透過臨時 text_display 實體取得 @s 的當前顯示名稱，存入 pid:temp.player_name
# 說明：Minecraft 無法直接將 selector 結果存為字串，需借助 text_display 的 text 欄位中轉
# ============================================================

# 步驟 1：在發送者位置召喚 text_display，text 使用 selector 取得名稱
tag @s add pid.getting_name

summon text_display ~ ~ ~ {Tags:["pid.get_name"]}
execute as @n[type=minecraft:text_display,tag=pid.get_name] at @s run data modify entity @s text set value {"selector":"@p[scores={playerID=0},tag=pid.getting_name]"}

# 步驟 2：從 text_display 的 text.text 讀取名稱字串到 storage
data modify storage pid:temp player_name set from entity @n[type=minecraft:text_display,tag=pid.get_name] text.text

# 步驟 3：立即刪除暫時召喚的 text_display（避免殘留實體）
kill @e[type=text_display,tag=pid.get_name]

tag @s remove pid.getting_name