Java Bukkit/Spigot如何获得玩家自定义头部ID

Java Bukkit/Spigot如何获得玩家自定义头部ID,java,bukkit,Java,Bukkit,我试图从任何放置的玩家头骨中获取头骨拥有者ID和纹理值,但我找不出任何方法。我得到的最好的东西只是一个不需要这样ID的玩家头像的用户名(基本上是指使用{skulowner:“PLAYERNAME”},比如通过/give@p skulowner 13{skulowner:“Notch”}获得的用户名) 这是到目前为止我的代码 package me.saltyhelpvampire.spigotmushroom; import org.bukkit.Material; import org.buk

我试图从任何放置的玩家头骨中获取头骨拥有者ID和纹理值,但我找不出任何方法。我得到的最好的东西只是一个不需要这样ID的玩家头像的用户名(基本上是指使用
{skulowner:“PLAYERNAME”}
,比如通过
/give@p skulowner 13{skulowner:“Notch”}
获得的用户名)

这是到目前为止我的代码

package me.saltyhelpvampire.spigotmushroom;

import org.bukkit.Material;
import org.bukkit.block.BlockState;
import org.bukkit.block.Skull;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;

public final class SpigotMushroom extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        // Plugin startup logic
        System.out.println("This is a generic message");
        getServer().getPluginManager().registerEvents(this, this);

    }

    @EventHandler
    public void onMushroomheadPlace(BlockPlaceEvent event) {
        Player player = event.getPlayer();
        if (event.getBlock().getType() == Material.SKULL) {
                event.getPlayer().sendMessage("Player placed head");
                BlockState block = event.getBlock().getState();
                if(block instanceof Skull) {
                    Skull skull = (Skull) block;
                    String owner = skull.getOwner();
                    event.getPlayer().sendMessage(owner);
                }

        }
    }
}

在Minecraft中,如果头骨仅以playername作为nbt值放置,客户端加载皮肤数据,而不是服务器,则必须使用mojang api,在那里,您可以将名称转换为UUID,然后获取该UUID的纹理

为什么不工作?它应该使用“发送消息“但目前它只输出玩家的名字,只有在头部不需要IDA的情况下。在我后来做了一些研究之后,我发现我只需要块的纹理信息,我认为这些信息是从
SkullMeta
或其他
Skull
的方法中获得的,这对我来说是有意义的。我找到了一个解决办法,但很高兴知道,它可能在未来有用