java - Bukkit/Spigot如何获取玩家自定义头像ID

标签 java bukkit

我正在尝试从任何放置的玩家头骨中获取 SkullOwner ID 和纹理值,但我无法找出任何方法。我得到的最好的东西仅仅是不需要此类 ID 的玩家头的用户名(基本上意味着使用 {SkullOwner:"PLAYERNAME"} 的用户名,例如通过执行以下操作获得的用户名/给 @p 头骨 1 3 {SkullOwner:"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 中,如果放置头骨时仅使用玩家名作为 nbt 值,则客户端加载皮肤数据而不是服务器,您必须使用 mojang api,在那里您可以将名称转换为 UUID,然后获取该 UUID 的纹理

关于java - Bukkit/Spigot如何获取玩家自定义头像ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54992903/

相关文章:

java - 如何管理容器化应用程序设置?

java - 执行 com.google.appengine :appengine-maven-plugin:1. 9.4 时缺少必需的类

java - Spigot 插件尝试包含 Apache Commons Text 时出现 NoClassDefFoundError

java - 遍历 List 还是从 List 中通过索引获取对象?

java - 使用 jndi-simple api 获取数据源后 Junit 测试中出现 NullPointerException

java - 如何在Java中显示这样的输出(条件: elements which can enter is up to 10) (image)

java - 使用 Spring Data REST 的 JsonMappingException : Selects wrong serializer when @Id is removed from the list that that is being mapped

java - 使模块 jdk.incubator.httpclient 在运行时可见

java - Bukkit 记分板行为怪异

java - 安排 24 个不同计时器的最有效方法