Search in sources :

Example 6 with PlayerProfile

use of net.aufdemrand.denizen.nms.util.PlayerProfile in project Denizen-For-Bukkit by DenizenScript.

the class BlockHelper_v1_9_R2 method getPlayerProfile.

@Override
public PlayerProfile getPlayerProfile(Skull skull) {
    GameProfile profile = ((CraftSkull) skull).getTileEntity().getGameProfile();
    if (profile == null) {
        return null;
    }
    String name = profile.getName();
    UUID id = profile.getId();
    Property property = Iterables.getFirst(profile.getProperties().get("textures"), null);
    return new PlayerProfile(name, id, property != null ? property.getValue() : null);
}
Also used : GameProfile(com.mojang.authlib.GameProfile) PlayerProfile(net.aufdemrand.denizen.nms.util.PlayerProfile) UUID(java.util.UUID) Property(com.mojang.authlib.properties.Property)

Example 7 with PlayerProfile

use of net.aufdemrand.denizen.nms.util.PlayerProfile in project Denizen-For-Bukkit by DenizenScript.

the class ProfileEditor method setPlayerSkin.

public void setPlayerSkin(Player player, String name) {
    PlayerProfile profile = getFakeProfile(player);
    PlayerProfile skinProfile = NMSHandler.getInstance().fillPlayerProfile(new PlayerProfile(name, null));
    profile.setTexture(skinProfile.getTexture());
    profile.setTextureSignature(skinProfile.getTextureSignature());
    updatePlayer(player, true);
}
Also used : PlayerProfile(net.aufdemrand.denizen.nms.util.PlayerProfile)

Example 8 with PlayerProfile

use of net.aufdemrand.denizen.nms.util.PlayerProfile in project Denizen-For-Bukkit by DenizenScript.

the class ItemSkullskin method adjust.

@Override
public void adjust(Mechanism mechanism) {
    // -->
    if (mechanism.matches("skull_skin")) {
        if (item.getItemStack().getDurability() != 3) {
            item.getItemStack().setDurability((short) 3);
        }
        dList list = mechanism.getValue().asType(dList.class);
        String idString = list.get(0);
        String texture = null;
        if (list.size() > 1) {
            texture = list.get(1);
        }
        PlayerProfile profile;
        if (idString.contains("-")) {
            UUID uuid = UUID.fromString(idString);
            String name = null;
            if (list.size() > 2) {
                name = list.get(2);
            }
            profile = new PlayerProfile(name, uuid, texture);
        } else {
            profile = new PlayerProfile(idString, null, texture);
        }
        profile = NMSHandler.getInstance().fillPlayerProfile(profile);
        if (texture != null) {
            // Ensure we didn't get overwritten
            profile.setTexture(texture);
        }
        item.setItemStack(NMSHandler.getInstance().getItemHelper().setSkullSkin(item.getItemStack(), profile));
    }
}
Also used : PlayerProfile(net.aufdemrand.denizen.nms.util.PlayerProfile) net.aufdemrand.denizencore.objects.dList(net.aufdemrand.denizencore.objects.dList) UUID(java.util.UUID)

Example 9 with PlayerProfile

use of net.aufdemrand.denizen.nms.util.PlayerProfile in project Denizen-For-Bukkit by DenizenScript.

the class ItemSkullskin method getPropertyString.

@Override
public String getPropertyString() {
    if (item.getItemStack().getDurability() == 3) {
        PlayerProfile playerProfile = NMSHandler.getInstance().getItemHelper().getSkullSkin(item.getItemStack());
        if (playerProfile != null) {
            String name = playerProfile.getName();
            UUID uuid = playerProfile.getUniqueId();
            return (uuid != null ? uuid : name) + (playerProfile.hasTexture() ? "|" + playerProfile.getTexture() + (uuid != null && name != null ? "|" + name : "") : "");
        }
    }
    return null;
}
Also used : PlayerProfile(net.aufdemrand.denizen.nms.util.PlayerProfile) UUID(java.util.UUID)

Example 10 with PlayerProfile

use of net.aufdemrand.denizen.nms.util.PlayerProfile in project Denizen-For-Bukkit by DenizenScript.

the class Handler_v1_10_R1 method fillPlayerProfile.

@Override
public PlayerProfile fillPlayerProfile(PlayerProfile playerProfile) {
    try {
        if (playerProfile != null) {
            GameProfile gameProfile = new GameProfile(playerProfile.getUniqueId(), playerProfile.getName());
            gameProfile.getProperties().get("textures").clear();
            if (playerProfile.getTextureSignature() != null) {
                gameProfile.getProperties().put("textures", new Property("textures", playerProfile.getTexture(), playerProfile.getTextureSignature()));
            } else {
                gameProfile.getProperties().put("textures", new Property("textures", playerProfile.getTexture()));
            }
            MinecraftServer minecraftServer = ((CraftServer) Bukkit.getServer()).getServer();
            GameProfile gameProfile1 = null;
            if (gameProfile.getId() != null) {
                gameProfile1 = minecraftServer.getUserCache().a(gameProfile.getId());
            }
            if (gameProfile1 == null && gameProfile.getName() != null) {
                gameProfile1 = minecraftServer.getUserCache().getProfile(gameProfile.getName());
            }
            if (gameProfile1 == null) {
                gameProfile1 = gameProfile;
            }
            if (playerProfile.hasTexture()) {
                gameProfile1.getProperties().get("textures").clear();
                if (playerProfile.getTextureSignature() != null) {
                    gameProfile1.getProperties().put("textures", new Property("textures", playerProfile.getTexture(), playerProfile.getTextureSignature()));
                } else {
                    gameProfile1.getProperties().put("textures", new Property("textures", playerProfile.getTexture()));
                }
            }
            if (Iterables.getFirst(gameProfile1.getProperties().get("textures"), null) == null) {
                gameProfile1 = minecraftServer.ay().fillProfileProperties(gameProfile1, true);
            }
            Property property = Iterables.getFirst(gameProfile1.getProperties().get("textures"), null);
            return new PlayerProfile(gameProfile1.getName(), gameProfile1.getId(), property != null ? property.getValue() : null, property != null ? property.getSignature() : null);
        }
    } catch (Exception e) {
        if (dB.verbose) {
            dB.echoError(e);
        }
    }
    return null;
}
Also used : GameProfile(com.mojang.authlib.GameProfile) PlayerProfile(net.aufdemrand.denizen.nms.util.PlayerProfile) CraftServer(org.bukkit.craftbukkit.v1_10_R1.CraftServer) Property(com.mojang.authlib.properties.Property) MinecraftServer(net.minecraft.server.v1_10_R1.MinecraftServer)

Aggregations

PlayerProfile (net.aufdemrand.denizen.nms.util.PlayerProfile)24 GameProfile (com.mojang.authlib.GameProfile)16 Property (com.mojang.authlib.properties.Property)16 UUID (java.util.UUID)11 BigInteger (java.math.BigInteger)4 MessageDigest (java.security.MessageDigest)4 Scoreboard (org.bukkit.scoreboard.Scoreboard)4 Team (org.bukkit.scoreboard.Team)4 Material (org.bukkit.Material)2 java.util (java.util)1 Comparator (java.util.Comparator)1 Pattern (java.util.regex.Pattern)1 CraftFakePlayer_v1_10_R1 (net.aufdemrand.denizen.nms.impl.entities.CraftFakePlayer_v1_10_R1)1 CraftFakePlayer_v1_11_R1 (net.aufdemrand.denizen.nms.impl.entities.CraftFakePlayer_v1_11_R1)1 CraftFakePlayer_v1_8_R3 (net.aufdemrand.denizen.nms.impl.entities.CraftFakePlayer_v1_8_R3)1 CraftFakePlayer_v1_9_R2 (net.aufdemrand.denizen.nms.impl.entities.CraftFakePlayer_v1_9_R2)1 EntityFakePlayer_v1_10_R1 (net.aufdemrand.denizen.nms.impl.entities.EntityFakePlayer_v1_10_R1)1 EntityFakePlayer_v1_11_R1 (net.aufdemrand.denizen.nms.impl.entities.EntityFakePlayer_v1_11_R1)1 EntityFakePlayer_v1_8_R3 (net.aufdemrand.denizen.nms.impl.entities.EntityFakePlayer_v1_8_R3)1 EntityFakePlayer_v1_9_R2 (net.aufdemrand.denizen.nms.impl.entities.EntityFakePlayer_v1_9_R2)1