Ir para conteúdo
  • 0

Banners


sadUKZ

Pergunta

11 respostass a esta questão

Posts Recomendados

 

Não foi

 

ele te enviou um link agr voce deve ir no seu codigo e colocar layer por layer de acordo com a ordem que voce fez no site, sinto muito mas não existe um codigo pronto pra isso!

ItemStack stack = new ItemStack(Material.BANNER);

BannerMeta bm = (BannerMeta)stack.getItemMeta();

//SETA AS LAYERS

stack.setItemMeta(bm);
Link para o comentário
Compartilhar em outros sites

 

ele te enviou um link agr voce deve ir no seu codigo e colocar layer por layer de acordo com a ordem que voce fez no site, sinto muito mas não existe um codigo pronto pra isso!

ItemStack stack = new ItemStack(Material.BANNER);

BannerMeta bm = (BannerMeta)stack.getItemMeta();

//SETA AS LAYERS

stack.setItemMeta(bm);

 

e como eu vó pegar as layer

Link para o comentário
Compartilhar em outros sites

public static ItemStack getAlphabet(ItemStack banner, String alphabet, DyeColor baseColor, DyeColor dyeColor) {
		alphabet = ChatColor.stripColor(alphabet.toUpperCase()).substring(0, 1);
		BannerMeta bannerMeta = (BannerMeta) banner.getItemMeta();
		bannerMeta.setBaseColor(baseColor);
		switch (alphabet) {
		case "A":
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_TOP));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_RIGHT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_LEFT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_MIDDLE));
			bannerMeta.addPattern(new Pattern(baseColor, PatternType.BORDER));
			break;	
		banner.setItemMeta(bannerMeta);
		return banner;
	}
}

Assim por diante..

Link para o comentário
Compartilhar em outros sites

public static ItemStack getAlphabet(ItemStack banner, String alphabet, DyeColor baseColor, DyeColor dyeColor) {
		alphabet = ChatColor.stripColor(alphabet.toUpperCase()).substring(0, 1);
		BannerMeta bannerMeta = (BannerMeta) banner.getItemMeta();
		bannerMeta.setBaseColor(baseColor);
		switch (alphabet) {
		case "A":
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_TOP));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_RIGHT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_LEFT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_MIDDLE));
			bannerMeta.addPattern(new Pattern(baseColor, PatternType.BORDER));
			break;	
		banner.setItemMeta(bannerMeta);
		return banner;
	}
}

Assim por diante..

 

 

public static ItemStack getAlphabet(ItemStack banner, String alphabet, DyeColor baseColor, DyeColor dyeColor) {
		alphabet = ChatColor.stripColor(alphabet.toUpperCase()).substring(0, 1);
		BannerMeta bannerMeta = (BannerMeta) banner.getItemMeta();
		bannerMeta.setBaseColor(baseColor);
		switch (alphabet) {
		case "A":
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_TOP));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_RIGHT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_LEFT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_MIDDLE));
			bannerMeta.addPattern(new Pattern(baseColor, PatternType.BORDER));
			break;	
		banner.setItemMeta(bannerMeta);
		return banner;
	}
}

Assim por diante..

 

 

Então mais como eu vó pegar os layer do site

Link para o comentário
Compartilhar em outros sites

 

Aqui como pode ver a um comando que pode ser sumo nado no site

ex:

 

Mk0mG_jGSvCRLJAJSCskTQ.png

 

/give @p minecraft:banner 1 0 {BlockEntityTag:{Base:15,Patterns:[{Pattern:rs,Color:0},{Pattern:bs,Color:0},{Pattern:ms,Color:0},{Pattern:ts,Color:0},{Pattern:cbo,Color:15},{Pattern:tl,Color:0},{Pattern:bl,Color:0},{Pattern:ls,Color:0},{Pattern:bo,Color:15}]}}

 

Você deve seguir a ordem as "Pattern" nesse comando podemos recolher os seguintes names;

 

 

rs

bs

ms

ts

cbo

tl

 

como pode ver a alguns complementos de codigos aplique os mesmos de acordo com a letra.

BASE("b"),
    SQUARE_BOTTOM_LEFT("bl"),
    SQUARE_BOTTOM_RIGHT("br"),
    SQUARE_TOP_LEFT("tl"),
    SQUARE_TOP_RIGHT("tr"),
    STRIPE_BOTTOM("bs"),
    STRIPE_TOP("ts"),
    STRIPE_LEFT("ls"),
    STRIPE_RIGHT("rs"),
    STRIPE_CENTER("cs"),
    STRIPE_MIDDLE("ms"),
    STRIPE_DOWNRIGHT("drs"),
    STRIPE_DOWNLEFT("dls"),
    STRIPE_SMALL("ss"),
    CROSS("cr"),
    STRAIGHT_CROSS("sc"),
    TRIANGLE_BOTTOM("bt"),
    TRIANGLE_TOP("tt"),
    TRIANGLES_BOTTOM("bts"),
    TRIANGLES_TOP("tts"),
    DIAGONAL_LEFT("ld"),
    DIAGONAL_RIGHT("rd"),
    DIAGONAL_LEFT_MIRROR("lud"),
    DIAGONAL_RIGHT_MIRROR("rud"),
    CIRCLE_MIDDLE("mc"),
    RHOMBUS_MIDDLE("mr"),
    HALF_VERTICAL("vh"),
    HALF_HORIZONTAL("hh"),
    HALF_VERTICAL_MIRROR("vhr"),
    HALF_HORIZONTAL_MIRROR("hhb"),
    BORDER("bo"),
    CURLY_BORDER("cbo"),
    CREEPER("cre"),
    GRADIENT("gra"),
    GRADIENT_UP("gru"),
    BRICKS("bri"),
    SKULL("sku"),
    FLOWER("flo"),
    MOJANG("moj");

nessa brincadeira gerei um 'B'

case "B":
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_LEFT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_BOTTOM));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_RIGHT));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_TOP));
			bannerMeta.addPattern(new Pattern(dyeColor, PatternType.STRIPE_MIDDLE));
			bannerMeta.addPattern(new Pattern(baseColor, PatternType.BORDER));

A modos mais fáceis e api's pela internet pesquise em fóruns que você acha oque procura isso foi apenas um exemplo mereço seu like.

 

 

Vlw por me explica como funciona isso

 

é aqui está seu like

Link para o comentário
Compartilhar em outros sites

 

Vlw por me explica como funciona isso

 

é aqui está seu like

 

 

Bom provavelmente voce ja resolveu seu problema mas depois de umas horas quebrando a cabeça pensei em um jeitinho de vc evitar tanto trabalho

fiz um codigo pra voce pegar as layers diretamente do Site

	public static ArrayList<Pattern> getPatterns(String cmdcode) {
		ArrayList<Pattern> patterns = new ArrayList<>();
		String fullcode = cmdcode;
		String replacedcode = fullcode.replace("{BlockEntityTag:{", "");
		String[] coded = replacedcode.split(",Patterns:\\[");
		String[] coded2 = coded[1].split("\\},\\{");
		for (int i = 0; i<coded2.length;i++) {
			String out = coded2[i].replace("]", "").replace("[", "").replace("{", "").replace("}", "");
			String[] outlenght = out.split(",");
			String pattern = outlenght[0].replace("Pattern:", "");
			String color = outlenght[1].replace("Color:", "");
			patterns.add(new Pattern(DyeColor.getByDyeData(Byte.parseByte(color)), PatternType.getByIdentifier(pattern)));
		}
		return patterns;
	}

Essa é a API, Como usa-la?

é bem simples faça seu banner no site, Clique no /give lá no generate code e copie para um arquivo de texto qualquer

hLwafRe.png

 

Após colocar em um arquivo de texto remova o inicio como mostra na imagem abaixo

sVZavY2.png

 

e use o codigo desse jeito:

	public void test(Player player) {
		ItemStack stack = new ItemStack(Material.BANNER);
		BannerMeta meta = (BannerMeta) stack.getItemMeta();
		meta.setBaseColor(DyeColor.WHITE);
		//TEXTO cmd DO SITE - obs: DEVE COPIAR DE ACORDO COM ESTE EXEMPLO A PARTIR DO {BlockEntityTag:
		String fullcode = "{BlockEntityTag:{Base:15,Patterns:[{Pattern:sc,Color:0},{Pattern:drs,Color:0},{Pattern:dls,Color:0},{Pattern:mc,Color:13}]}}";
		for (Pattern p : getPatterns(fullcode)) {
			meta.addPattern(p);
		}
		stack.setItemMeta(meta);
		player.getInventory().addItem(stack);
		
	}

No Jogo voce tem esse resultado:

7eiuvTz.png

Editado por FilipeNock
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...