Ir para conteúdo

[Utils] [KitPvP] Kit selector fácil de fazer!


DaviDEV

Posts Recomendados

Eae galera, depois de bastante tempo sem falar nada no Forum estou eu aqui :p

Bom, hoje vou ajudar a fazer seu Plugin de KitPvP.
Eu fiz um Util que consegue fazer um KitSelector!

Exemplo:

v2BGgjg.png

Não é preciso listener nem nada muito complicado para fazer isto pois eu fiz duas class que cosegue fazer tudo!

 

Classe 1

package TestesDaviDEV.Utils;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;

/**
 * @author DaviDEV
 */
public class KitSelector implements Listener {

	private Inventory inv;
	private String comandoSelec;
	/**
	 * Criar um kitSelector
	 * 
	 * @param kitNome
	 *            Nome do kit
	 * @param nomeInv
	 *            Nome do inventario
	 */
	@SuppressWarnings("deprecation")
	public KitSelector(Plugin seuPlugin, String kitNome, String nomeInv, ItemStack helmet, ItemStack chestplate,
			ItemStack leggings, ItemStack boots, ItemStack itemPrincipal, boolean fullsopa, String habilidadeEspecial,
			String comandoSelecionar) {
		comandoSelec = comandoSelecionar;
		Bukkit.getPluginManager().registerEvents(this, seuPlugin);
		inv = Bukkit.createInventory(null, 54, nomeInv);
		inv.setItem(10, helmet);
		inv.setItem(19, chestplate);
		inv.setItem(28, leggings);
		inv.setItem(37, boots);
		inv.setItem(13, itemPrincipal);
		inv.setItem(16, InvUtils.createItem(Material.getMaterial(351), "§aSelecionar",
				new String[] { "§7Clicke para selecionar este kit" }, 1, 10));
		inv.setItem(43, InvUtils.createItem(Material.getMaterial(351), "§cFechar",
				new String[] { "§7Clicke para fechar este menu" }, 1, 1));
		if (fullsopa) {
			inv.setItem(31, InvUtils.createItem(Material.MUSHROOM_SOUP, "§aFullSopa",
					new String[] { "§aEste kit é fullsopa" }, 1, 0));
		} else {
			inv.setItem(31, InvUtils.createItem(Material.MUSHROOM_SOUP, "§cFullSopa",
					new String[] { "§cEste não kit é fullsopa" }, 1, 0));
		}
		inv.setItem(40, InvUtils.createItem(Material.NAME_TAG, "§aHabilidade especial:",
				new String[] { habilidadeEspecial }, 1, 0));
	}

	public Inventory getInv() {
		return inv;
	}

	@SuppressWarnings("deprecation")
	@EventHandler
	public void onInventoryClick(InventoryClickEvent e) {
		if (e.getInventory().getTitle().equals(inv.getTitle())) {
			Player p = (Player) e.getWhoClicked();
			if (e.getCurrentItem() == null)
				return;
			if (e.getCurrentItem().getType() == Material.AIR)
				return;
			e.setCancelled(true);
			if (e.getCurrentItem().getType() == Material.getMaterial(351)) {
				if (e.getCurrentItem().getDurability() == (short) 10) {
					p.chat(comandoSelec);
				} else {
					p.closeInventory();
				}
			}
		}
	}
}

Classe 2

package TestesDaviDEV.Utils;

import java.util.ArrayList;
import java.util.List;

import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class InvUtils {
	public static ItemStack createItem(Material material, String nome, String[] lore, int qtd, int date) {
		ItemStack item = new ItemStack(material, qtd, (short) date);
		ItemMeta meta = item.getItemMeta();
		meta.setDisplayName(nome);
		if (lore != null) {
			List<String> loreItem = new ArrayList<String>();
			for (String lor : lore) {
				loreItem.add(lor);
			}
			meta.setLore(loreItem);
		}
		item.setItemMeta(meta);
		return item;
	}
}
 

Exemplos de uso:

new KitSelector(seuPlugin, kitNome, nomeInv, helmet, chestplate, leggings, boots, itemPrincipal, fullsopa, habilidadeEspecial, comandoSelecionar); 

Como usar?

package TestesDaviDEV;

import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.java.JavaPlugin;

import TestesDaviDEV.Utils.KitSelector;
import TestesDaviDEV.Utils.Utils;

public class Main extends JavaPlugin implements Listener {
	
	public static KitSelector ks;
	
	@Override
	public void onEnable() {
		getServer().getPluginManager().registerEvents(this, this);
		ks = new KitSelector(this, "PvP", "§6Selecionar kit: PvP", Utils.createItem(Material.DIAMOND_HELMET, "Armadura", null, 1, 0), Utils.createItem(Material.DIAMOND_CHESTPLATE, "Armadura", null, 1, 0), Utils.createItem(Material.DIAMOND_LEGGINGS, "Armadura", null, 1, 0), Utils.createItem(Material.DIAMOND_BOOTS, "Armadura", null, 1, 0), Utils.createItem(Material.DIAMOND_SWORD, "§aEspada", null, 1, 0), true, "Teste", "/me Funciona '-'");
		getLogger().info("Habilitado!");
	}
	@Override
	public void onDisable() {
		HandlerList.unregisterAll();
	}
	
	@EventHandler
	public void onChat(AsyncPlayerChatEvent e) {
		if (e.getMessage().equalsIgnoreCase("Menu")) {
			e.setCancelled(true);
			e.getPlayer().openInventory(ks.getInv());
		}
	}

}

LIKE se eu ajudei :p

Link para o comentário
Compartilhar em outros sites

'-'

 

Tópico movido.

 

Eu tava com a impressão que eu tinha botado errado o topico vlw

Eh, simples porém não é tão completo....

 

Mais é bom que não precisa de gastar a mão programando, melhor poupar a mão pra tocar @%&#036;#~&amp;I

legal parabens

Vlw mano é noiz

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...