Pesquisar na Comunidade
Mostrando resultados para as tags ''itemstack''.
Encontrado 2 registros
-
GetSkull(); Bom galera, a um tempo eu estava precisando muito um método de usar cabeças custom em um inventário GUI, por isso sai pesquisando em diversos lugares que por final me retornava um um código que estarei deixando abaixo, só que tem um problema onde encontrei o código não mostrava oque tinha que fazer para obter a URL da customskull. O código que você irá usar é esse: public static ItemStack getSkull(String url) { ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (short) 3); if(url.isEmpty())return item; SkullMeta itemMeta = (SkullMeta) item.getItemMeta(); GameProfile profile = new GameProfile(UUID.randomUUID(), null); byte[] encodedData = Base64.getEncoder().encode(String.format("{textures:{SKIN:{url:\"%s\"}}}", url).getBytes()); profile.getProperties().put("textures", new Property("textures", new String(encodedData))); Field profileField = null; try { profileField = itemMeta.getClass().getDeclaredField("profile"); profileField.setAccessible(true); profileField.set(itemMeta, profile); } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) { e.printStackTrace(); } item.setItemMeta(itemMeta); return item; } Depois basta usar esse código em um itemstack como o exemplo abaixo: //Só a parte do itemstack é necessário para obter a customskin, coloquei o resto apenas para complementar. ItemStack head = getSkull("http://textures.minecraft.net/texture/51fad5d2b822fce8d59bce08414b9f87f27aa9d77a73823a58dd517ea80b2a5"); ItemMeta headm = head.getItemMeta(); headm.setDisplayName("§aCabeça Custom (Bolada)"); ArrayList<String> lore = new ArrayList<>(); lore.add("§7Sim. Isso é uma cabeça com uma skin custom."); headm.setLore(lore); head.setItemMeta(headm); Como obter a URL para colocar no getskull ? Basta achar um site com a skin, e logo depois você vai procurar o código no caso a texture da skin. Recomendo esse site: https://minecraft-heads.com/custom/ Logo depois de obter a texture da cabeça ela estará encode em base64. Você irá precisar fazer um decode naquela textura sendo assim irá obter o link. Site para fazer decode na texutre da skin: https://www.base64decode.org/ Logo após basta fazer isso e irá receber o link para colocar no método do getSkull: Basta copiar a URL colar lá e ser feliz :)
-
itembuilder ItemStack Builder [Classs & GUI] Config ItemStack
um tópico no fórum postou FilipeNock Projetos
Olá a todos! Bom já fiz vários tipos de Plugins/Minigames e meio que enjoei de tudo sempre a mesma coisa e decidi ir mais além, fiz uma classe com um itemBuilder e com config serializable. 1º - Coloque a classe em seu Projeto ItemBuilder.class: https://pastebin.com/cCi9XN0N 2º - Você pode usar o itemBuilder padrão seguindo o exemplo: ItemStack exemplo = new ItemBuilder(Material.WOOL, 5).setName("§cColoured Woll").addLoreLine("Adicionando uma lore").build(); //removeFlags() deixa o item encantado mas sem aparecer que esta ItemStack exemplo2 = new ItemBuilder(Material.WOOL, 5).setName("§cColoured Woll").addEnchant(Enchantment.ARROW_DAMAGE, 5).removeFlags().build(); ItemStack exemplo3 = new ItemBuilder(Material.SKULL_ITEM, 3).setSkullOwner("FilipeNock").build(); 3º - Como Voce viu acima isso é um metodo de fazer um itemStack facil mas ja existem varias classes na net que fazem isso e então fiz um deserialize/serialize para config, e fiz com um programa pra ajudar! o programa ainda nao esta completo mas vou mostrar como usa-lo. Este é o construtor voce pode fazer manualmente escolhendo partes dele: // id=TEXT/NUMBER : data=NUMBER : amount=16 : name=TEXT : lore=TEXT/-/TEXT : // enchant=DAMAGE_ALL;5 : hideflags=BOOLEAN : potioneffect=SPEED;10;2;true : texture=TEXT Voce pode selecionar o Item e a data do item e clicar em "Criar" Após isso voce pode adicionar encantamentos e o nome seguindo a Imagem Agora voce pode clicar em "Copiar" e colar na sua config e usar o método na sua classe config.yml ITEM: "id=DIAMOND_SWORD : data=0 : enchant=DAMAGE_ALL;5 : name=&6NomeDoItem" ItemStack exemplo = ItemBuilder.Serialize(getConfig().getString("ITEM")); ItemStack exemplo2 = ItemBuilder.Serialize("id=DIAMOND_SWORD : data=0 : enchant=DAMAGE_ALL;5 : name=&6NomeDoItem"); DOWNLOAD DO PROGRAMA: http://www.mediafire.com/file/z8lcscbvo572elt/ItemStack+Builder+1.1.jar UPDATE: 1.1 Estou aceitando pedidos de Plugins ou Programas se alguém quiser estou dísponivel