gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:45:08 25 4
gpt4 key购买 nike

我正在尝试从任何放置的玩家头骨中获取 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com