RT,如何获取玩家ID并调用生成头,版本1.16.5
先写一个战利品表 data\foo\loot_tables\bar.json,
复制代码
然后玩家使用命令 loot give @s loot foo:bar 获得自己的头。
- {
 
-   "pools": [
 
-     {
 
-       "rolls": 1,
 
-       "entries": [
 
-         {
 
-           "type": "minecraft:item",
 
-           "name": "minecraft:player_head",
 
-           "functions": [
 
-             {
 
-               "function": "minecraft:fill_player_head",
 
-               "entity": "this"
 
-             }
 
-           ]
 
-         }
 
-       ]
 
-     }
 
-   ]
 
- }
然后玩家使用命令 loot give @s loot foo:bar 获得自己的头。
 本帖最后由 Ph-苯 于 2022-9-8 08:13 编辑 
复制代码
不好意思没注意审题。原版中获取玩家名称的唯一方法就是用物品修饰器fill_player_head来修改物品标签,玩家名就存在SkullOwner.Name。不过既然只要头颅,直接用这个物品修饰器就行了。
把以下保存到数据包的物品修饰器文件夹中,例如data/test/item_modifiers/head.json:复制代码然后主手持玩家头,并执行指令:复制代码
- /give @p player_head{SkullOwner:'玩家名'}
不好意思没注意审题。原版中获取玩家名称的唯一方法就是用物品修饰器fill_player_head来修改物品标签,玩家名就存在SkullOwner.Name。不过既然只要头颅,直接用这个物品修饰器就行了。
把以下保存到数据包的物品修饰器文件夹中,例如data/test/item_modifiers/head.json:
- {
 
-         "function": "fill_player_head",
 
-         "entity": "this"
 
- }
- /item modify @p weapon.mainhand test:head