白狗虚虚
RT,如何获取玩家ID并调用生成头,版本1.16.5

Muggle2077
先写一个战利品表 data\foo\loot_tables\bar.json

  1. {
  2.   "pools": [
  3.     {
  4.       "rolls": 1,
  5.       "entries": [
  6.         {
  7.           "type": "minecraft:item",
  8.           "name": "minecraft:player_head",
  9.           "functions": [
  10.             {
  11.               "function": "minecraft:fill_player_head",
  12.               "entity": "this"
  13.             }
  14.           ]
  15.         }
  16.       ]
  17.     }
  18.   ]
  19. }
复制代码

然后玩家使用命令 loot give @s loot foo:bar 获得自己的头。

Ph-苯
本帖最后由 Ph-苯 于 2022-9-8 08:13 编辑
  1. /give @p player_head{SkullOwner:'玩家名'}
复制代码

不好意思没注意审题。原版中获取玩家名称的唯一方法就是用物品修饰器fill_player_head来修改物品标签,玩家名就存在SkullOwner.Name。不过既然只要头颅,直接用这个物品修饰器就行了。
        把以下保存到数据包的物品修饰器文件夹中,例如data/test/item_modifiers/head.json:
  1. {
  2.         "function": "fill_player_head",
  3.         "entity": "this"
  4. }
复制代码
然后主手持玩家头,并执行指令:
  1. /item modify @p weapon.mainhand test:head
复制代码