Ir para conteúdo
  • 0

[Resolvido] Menu de Kits duvida


Critical_XxX

Pergunta

bem como eu posso fazer um menu de kits por permissao

(primeira vez que mecho com createinventory) e para o meu pl de kitpvp que estou tentando fazer

e to querendo fazer o menu com permissao

 

aki esta o code do menu que eu fiz (nao e po permissa)

 

 

 

package me.kOceanosPvP.Manager;

import me.kOceanosPvP.Main;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

public class GuiKits implements Listener, CommandExecutor {
	
	public static void InventarioMenuKits(Player p){
		Inventory kits = Bukkit.getServer().createInventory(p, 54, ChatColor.GREEN + "Kits");
		
		ItemStack pvp = new ItemStack(Material.IRON_SWORD);
		ItemMeta pvpmeta = pvp.getItemMeta();
		pvpmeta.setDisplayName(ChatColor.GREEN + "PvP");
		pvp.setItemMeta(pvpmeta);
		p.closeInventory();
		kits.setItem(10, pvp);
		
		ItemStack archer = new ItemStack(Material.BOW);
		ItemMeta archermeta = archer.getItemMeta();
		archermeta.setDisplayName(ChatColor.GREEN + "Archer");
		archer.setItemMeta(archermeta);
		p.closeInventory();
		kits.setItem(11, archer);
		
		ItemStack grandpa = new ItemStack(Material.STICK);
		ItemMeta grandpameta = grandpa.getItemMeta();
		grandpameta.setDisplayName(ChatColor.GREEN + "Grandpa");
		grandpa.setItemMeta(grandpameta);
		p.closeInventory();
		kits.setItem(12, grandpa);
		
		ItemStack pyro = new ItemStack(Material.FIREWORK_CHARGE);
		ItemMeta pyrometa = pyro.getItemMeta();
		pyrometa.setDisplayName(ChatColor.GREEN + "Pyro");
		pyro.setItemMeta(pyrometa);
		p.closeInventory();
		kits.setItem(13, pyro);
		
		ItemStack reaper = new ItemStack(Material.WOOD_HOE);
		ItemMeta reapermeta = reaper.getItemMeta();
		reapermeta.setDisplayName(ChatColor.GREEN + "Reaper");
		reaper.setItemMeta(reapermeta);
		p.closeInventory();
		kits.setItem(14, reaper);
		
		ItemStack snail = new ItemStack(Material.SOUL_SAND);
		ItemMeta snailmeta = snail.getItemMeta();
		snailmeta.setDisplayName(ChatColor.GREEN + "Snail");
		snail.setItemMeta(snailmeta);
		p.closeInventory();
		kits.setItem(15, snail);
		
		ItemStack specialist = new ItemStack(Material.ENCHANTED_BOOK);
		ItemMeta specialistmeta = specialist.getItemMeta();
		specialistmeta.setDisplayName(ChatColor.GREEN + "Specialist");
		specialist.setItemMeta(specialistmeta);
		p.closeInventory();
		kits.setItem(16, specialist);
		
		ItemStack tank = new ItemStack(Material.TNT);
		ItemMeta tankmeta = tank.getItemMeta();
		tankmeta.setDisplayName(ChatColor.GREEN + "Tank");
		tank.setItemMeta(tankmeta);
		p.closeInventory();
		kits.setItem(19, tank);
		
		ItemStack thor = new ItemStack(Material.GOLD_AXE);
		ItemMeta thormeta = thor.getItemMeta();
		thormeta.setDisplayName(ChatColor.GREEN + "Thor");
		thor.setItemMeta(thormeta);
		p.closeInventory();
		kits.setItem(20, thor);
		
		ItemStack viper = new ItemStack(Material.SPIDER_EYE);
		ItemMeta vipermeta = viper.getItemMeta();
		vipermeta.setDisplayName(ChatColor.GREEN + "Viper");
		viper.setItemMeta(vipermeta);
		p.closeInventory();
		kits.setItem(21, viper);
		
		ItemStack critical = new ItemStack(Material.APPLE);
		ItemMeta criticalmeta = critical.getItemMeta();
		criticalmeta.setDisplayName(ChatColor.GREEN + "Critical");
		critical.setItemMeta(criticalmeta);
		p.closeInventory();
		kits.setItem(22, critical);
		
		ItemStack turtle = new ItemStack(Material.DIAMOND_CHESTPLATE);
		ItemMeta turtlemeta = turtle.getItemMeta();
		turtlemeta.setDisplayName(ChatColor.GREEN + "Turtle");
		turtle.setItemMeta(turtlemeta);
		p.closeInventory();
		kits.setItem(23, turtle);
		
		
		
		
//Vidros do bau
			ItemStack vidro = new ItemStack(Material.STAINED_GLASS_PANE);
			ItemMeta vidrometa = vidro.getItemMeta();
			vidrometa.setDisplayName(Main.config.getConfig().getString("ServerName").replace("&", "§"));
			vidro.setItemMeta(vidrometa);
			
			ItemStack vidro2 = new ItemStack(Material.ENDER_PORTAL_FRAME);
			ItemMeta vidro2meta = vidro2.getItemMeta();
			vidro2meta.setDisplayName(ChatColor.GREEN + "Bem Vindo");
			vidro2.setItemMeta(vidro2meta);
			
			
	        kits.setItem(0, vidro);
			kits.setItem(1, vidro);
			kits.setItem(2, vidro);
			kits.setItem(3, vidro);
			kits.setItem(4, vidro);
			kits.setItem(5, vidro);
			kits.setItem(6, vidro);
			kits.setItem(7, vidro);
			kits.setItem(8, vidro);
			kits.setItem(9, vidro);
			kits.setItem(17, vidro);
			kits.setItem(18, vidro);
			kits.setItem(26, vidro);
			kits.setItem(27, vidro);
			kits.setItem(35, vidro);
			kits.setItem(36, vidro);
			kits.setItem(44, vidro);
			kits.setItem(45, vidro);
			kits.setItem(46, vidro);
			kits.setItem(47, vidro);
			kits.setItem(48, vidro);
			kits.setItem(49, vidro);
			kits.setItem(50, vidro);
			kits.setItem(51, vidro);
			kits.setItem(52, vidro);
			kits.setItem(53, vidro);
		//fim dos vidros do bau
		p.openInventory(kits);
		p.playSound(p.getLocation(), Sound.CHEST_OPEN, 1.5F, 3.5F);
	}
	
	@EventHandler
	public void inventarioclick(InventoryClickEvent e){
		Player p = (Player) e.getWhoClicked();
		if(e.getInventory().getTitle().equals(ChatColor.GREEN + "Kits") &&
				(e.getCurrentItem().getType() != null) && (e.getCurrentItem().getTypeId() != 0)){
			e.setCancelled(true);
			p.closeInventory();
			if(e.getCurrentItem().getType() == Material.BOW){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/archer");
				return;
			}
			if(e.getCurrentItem().getType() == Material.IRON_SWORD){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/pvp");
				return;
			}
			if(e.getCurrentItem().getType() == Material.STICK){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/grandpa");
				return;
			}
			if(e.getCurrentItem().getType() == Material.FIREWORK_CHARGE){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/pyro");
				return;
			}
			if(e.getCurrentItem().getType() == Material.WOOD_HOE){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/reaper");
				return;
			}
			if(e.getCurrentItem().getType() == Material.POTION){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/snail");
				return;
			}
			if(e.getCurrentItem().getType() == Material.ENCHANTED_BOOK){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/specialist");
				return;
			}
			if(e.getCurrentItem().getType() == Material.TNT){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/tank");
				return;
			}
			if(e.getCurrentItem().getType() == Material.GOLD_AXE){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/thor");
				return;
			}
			if(e.getCurrentItem().getType() == Material.SPIDER_EYE){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/viper");
				return;
			}
			if(e.getCurrentItem().getType() == Material.APPLE){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/critical");
				return;
			}
			if(e.getCurrentItem().getType() == Material.DIAMOND_CHESTPLATE){
				e.setCancelled(true);
				p.closeInventory();
				p.chat("/turtle");
				return;
			}
	}
	}
	
	@EventHandler
	public void clickbau(PlayerInteractEvent e){
		Player p = e.getPlayer();
		if((e.getAction().name().contains("RIGHT")) || (e.getAction().name().contains("LEFT"))){
			if(p.getItemInHand().getType() == Material.ENDER_CHEST){
				InventarioMenuKits(p);
			}
		}
	} 

 

 

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

Você só quer que apareça no menu os kits que o cara tem perm?

ss isso mesmo

 

É só você verificar se o jogador tem a permissão quando for setar o item no inventario.

como posso fazer isso e setar os kits que ele tem permissao no menu e se ele nao tiver permissao para os outros kits ficar tudo vidro (material que uso para preencher os slots)

Link para o comentário
Compartilhar em outros sites

ss isso mesmo

 

como posso fazer isso e setar os kits que ele tem permissao no menu e se ele nao tiver permissao para os outros kits ficar tudo vidro (material que uso para preencher os slots)

Já faço um exemplo....

 

Só vai mostra os kits que você tem e vai completar os espaços vazios com vidro...

 

 

		Inventory kits = Bukkit.getServer().createInventory(p, 54, ChatColor.GREEN + "Kits");
		
		ItemStack pvp = new ItemStack(Material.IRON_SWORD);
		ItemMeta pvpmeta = pvp.getItemMeta();
		pvpmeta.setDisplayName(ChatColor.GREEN + "PvP");
		pvp.setItemMeta(pvpmeta);
		p.closeInventory();
		if (p.hasPermission("kits.pvp"))
		{
			kits.setItem(10, pvp);
		}
		
		ItemStack archer = new ItemStack(Material.BOW);
		ItemMeta archermeta = archer.getItemMeta();
		archermeta.setDisplayName(ChatColor.GREEN + "Archer");
		archer.setItemMeta(archermeta);
		p.closeInventory();
		if (p.hasPermission("kits.archer"))
		{
			kits.setItem(11, archer);
		}
		
		ItemStack grandpa = new ItemStack(Material.STICK);
		ItemMeta grandpameta = grandpa.getItemMeta();
		grandpameta.setDisplayName(ChatColor.GREEN + "Grandpa");
		grandpa.setItemMeta(grandpameta);
		p.closeInventory();
		if (p.hasPermission("kits.grandpa"))
		{
			kits.setItem(12, grandpa);
		}
		
		ItemStack pyro = new ItemStack(Material.FIREWORK_CHARGE);
		ItemMeta pyrometa = pyro.getItemMeta();
		pyrometa.setDisplayName(ChatColor.GREEN + "Pyro");
		pyro.setItemMeta(pyrometa);
		p.closeInventory();
		if (p.hasPermission("kits.pyro"))
		{
			kits.setItem(13, pyro);
		}
		
		ItemStack reaper = new ItemStack(Material.WOOD_HOE);
		ItemMeta reapermeta = reaper.getItemMeta();
		reapermeta.setDisplayName(ChatColor.GREEN + "Reaper");
		reaper.setItemMeta(reapermeta);
		p.closeInventory();
		if (p.hasPermission("kits.reaper"))
		{
			kits.setItem(14, reaper);
		}
		
		ItemStack snail = new ItemStack(Material.SOUL_SAND);
		ItemMeta snailmeta = snail.getItemMeta();
		snailmeta.setDisplayName(ChatColor.GREEN + "Snail");
		snail.setItemMeta(snailmeta);
		p.closeInventory();
		if (p.hasPermission("kits.snail"))
		{
			kits.setItem(15, snail);
		}
		
		ItemStack specialist = new ItemStack(Material.ENCHANTED_BOOK);
		ItemMeta specialistmeta = specialist.getItemMeta();
		specialistmeta.setDisplayName(ChatColor.GREEN + "Specialist");
		specialist.setItemMeta(specialistmeta);
		p.closeInventory();
		if (p.hasPermission("kits.specialist"))
		{
			kits.setItem(16, specialist);
		}
		
		ItemStack tank = new ItemStack(Material.TNT);
		ItemMeta tankmeta = tank.getItemMeta();
		tankmeta.setDisplayName(ChatColor.GREEN + "Tank");
		tank.setItemMeta(tankmeta);
		p.closeInventory();
		if (p.hasPermission("kits.tank"))
		{
			kits.setItem(19, tank);
		}
		
		ItemStack thor = new ItemStack(Material.GOLD_AXE);
		ItemMeta thormeta = thor.getItemMeta();
		thormeta.setDisplayName(ChatColor.GREEN + "Thor");
		thor.setItemMeta(thormeta);
		p.closeInventory();
		if (p.hasPermission("kits.pyro"))
		{
			kits.setItem(20, pyro);
		}
		
		ItemStack viper = new ItemStack(Material.SPIDER_EYE);
		ItemMeta vipermeta = viper.getItemMeta();
		vipermeta.setDisplayName(ChatColor.GREEN + "Viper");
		viper.setItemMeta(vipermeta);
		p.closeInventory();
		if (p.hasPermission("kits.viper"))
		{
			kits.setItem(21, viper);
		}
		
		ItemStack critical = new ItemStack(Material.APPLE);
		ItemMeta criticalmeta = critical.getItemMeta();
		criticalmeta.setDisplayName(ChatColor.GREEN + "Critical");
		critical.setItemMeta(criticalmeta);
		p.closeInventory();
		if (p.hasPermission("kits.critical"))
		{
			kits.setItem(22, critical);
		}
		
		ItemStack turtle = new ItemStack(Material.DIAMOND_CHESTPLATE);
		ItemMeta turtlemeta = turtle.getItemMeta();
		turtlemeta.setDisplayName(ChatColor.GREEN + "Turtle");
		turtle.setItemMeta(turtlemeta);
		p.closeInventory();if (p.hasPermission("kits.turtle"))
		{
			kits.setItem(23, turtle);
		}
		
		
		
			ItemStack vidro = new ItemStack(Material.GLASS);/* MUDEI PRA GLASS POIS TO TESTANDO NA 1.5 E NAO TEM ESSE STANED_GLASS CARALHOS*/
			ItemMeta vidrometa = vidro.getItemMeta();
			vidrometa.setDisplayName(/* Main.config.getConfig().getString("ServerName").replace("&", "§")*/ "nada");
			vidro.setItemMeta(vidrometa);
			
			ItemStack vidro2 = new ItemStack(Material.ENDER_PORTAL_FRAME);
			ItemMeta vidro2meta = vidro2.getItemMeta();
			vidro2meta.setDisplayName(ChatColor.GREEN + "Bem Vindo");
			vidro2.setItemMeta(vidro2meta);
			
			
			for (int i = 0; i < 54 ;i++)
			{
				if (kits.getItem(i) == null || kits.getItem(i).getType() == Material.AIR)
				{
					kits.setItem(i, vidro);
				}
				
			}
		p.openInventory(kits);
		p.playSound(p.getLocation(), Sound.CHEST_OPEN, 1.5F, 3.5F); 

 

 

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

sabe como posso colocar meta data nos vidros da 1.7?

tipo o STAINED_GLASS_PANE

e branco o normal

so que quero um que seja de outra cor

mas nao consigo colocar o data value dele sabe como mudar?

da pra fazer com o setDurability((short) NUMERO) é mais fácil...

Link para o comentário
Compartilhar em outros sites

e muda a cor do item ex

se eu colocar lã ele vai aparecer a lã branca

se eu kiser coloca a lã amarela eu nao consigo colocar 

e isso que eu quero

tenta o que eu falei, coloca 1, 2 3 ... até achar a cor certa

Link para o comentário
Compartilhar em outros sites

Guest Maatrix

if(p.hasPermission("kit.pvp") {

ItemStack espada = new ItemStack(Material.DIAMOND_SWORD);

ItemMeta espadameta = espada.getItemMeta();

espadameta.setDisplayName("§bKIT SEM HABILIDADE");

inv.setItem(0,espada);

return;

}

if(p.hasPermission("kit.stomper") {

ItemStack bota = new ItemStack(Material.IRON_BOOTS);

ItemMeta botameta = espada.getItemMeta();

botameta.setDisplayName("§bPISE EM SEUS INIMIGOS !");

inv.setItem(0,bota);

return;

}

E assim vai indo...

Link para o comentário
Compartilhar em outros sites

if(p.hasPermission("kit.pvp") {
  ItemStack espada = new ItemStack(Material.DIAMOND_SWORD);
  ItemMeta espadameta = espada.getItemMeta();
  espadameta.setDisplayName("§bKIT SEM HABILIDADE");
  inv.setItem(0,espada);
  return;
 }
 if(p.hasPermission("kit.stomper") {
  ItemStack bota = new ItemStack(Material.IRON_BOOTS);
  ItemMeta botameta = espada.getItemMeta();
  botameta.setDisplayName("§bPISE EM SEUS INIMIGOS !");
  inv.setItem(0,bota);
  return;
}
E assim vai indo...

 

mude para

inventario.addItem(itemstack);

Link para o comentário
Compartilhar em outros sites

mude para

inventario.addItem(itemstack);

se muda pra additem

o item vai sempre mudar de local ex

quero que fique no 1 de boa ai tem 10 kits

dps o kit que quero que fique no 1 ele muda de local

e vai pro slot 3 e assim vai

o setitem e melhor eu acho

Link para o comentário
Compartilhar em outros sites

se muda pra additem

o item vai sempre mudar de local ex

quero que fique no 1 de boa ai tem 10 kits

dps o kit que quero que fique no 1 ele muda de local

e vai pro slot 3 e assim vai

o setitem e melhor eu acho

Tendi nada '-' Tu quer fazer estilo mcpvp?

Link para o comentário
Compartilhar em outros sites

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