Ir para conteúdo
  • 0

[Resolvido] Duvida SignChangeEvent e PlayerInteractEvent


Critical_XxX

Pergunta

bem eu to tentando atualizar o meu CEssentials '-'

e com isso me vei na mente eu colocar sistema de placas para reparar e de info(sao os que estou fazendo vou coloar mais)

 

vamo a duvida no meu code do sistema de reparo ta funcionando certin sem nenhum bug (pelo meno nao descobri nenhum '-')

e no sistema de info tambem nao porem

o de info ta realizando a funcão da placa de reparo e tambem realiza a propia funçao que é mostrar os ids dos items

 

as classes de cada codigo sao diferentes elas estao aki

e para quem nao entendeu vou resurmir rapidao agora

 

a placa de info esta realizando a função da placa de reparo e tambem realiza a sua função ja a placa de reparo esta funcionando normalmente realizando apenas a sua função

 

code

 

Placa de Reparo

 

 

package me.CEssentials.Managers;

import me.CEssentials.Main;

import org.bukkit.Material;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;

public class RepairPlaca implements Listener{

	@EventHandler
	public void setupSignRepair(SignChangeEvent e){
		Player p = e.getPlayer();
		if(!p.hasPermission("cessentials.setup.sign.repair")){
			e.setCancelled(true);
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMessageNotPermision").replace("&", "§"));
		}
		if(e.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupGetLineTransformSign"))){
			e.setLine(0, Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineOne").replace("&", "§"));
			e.setLine(1, Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineTwo").replace("&", "§"));
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignMessage")
					.replace("&", "§"));
			return;
		}
	}
	
	@EventHandler
	public void ClicksignRepair(PlayerInteractEvent e){
		if(e.getClickedBlock().getState() instanceof Sign){
		Player p = e.getPlayer();
		if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
			if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType()
					 == Material.WALL_SIGN)){
				Sign placa = (Sign) e.getClickedBlock().getState();
				if(!placa.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineOne").replace("&", "§"))
						 || (placa.getLine(1).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineTwo").replace("&", "§")))){
					if(p.getItemInHand().getType() == Material.AIR){
						p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairHandEmpty").replace("&", "§"));	
						return;
						}
	              if((((p.getItemInHand().getType() == Material.DIAMOND_AXE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_HOE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.IRON_AXE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_HOE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_AXE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_HOE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.STONE_AXE)) ||
	            		  (p.getItemInHand().getType() == Material.STONE_HOE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.WOOD_AXE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_HOE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_PICKAXE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_SPADE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_SWORD) || 
(p.getItemInHand().getType() == Material.LEATHER_HELMET) ||
(p.getItemInHand().getType() == Material.LEATHER_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.LEATHER_LEGGINGS) ||
(p.getItemInHand().getType() == Material.LEATHER_BOOTS) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_HELMET) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_LEGGINGS) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_BOOTS) ||
(p.getItemInHand().getType() == Material.GOLD_HELMET) ||
(p.getItemInHand().getType() == Material.GOLD_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.GOLD_LEGGINGS) ||
(p.getItemInHand().getType() == Material.GOLD_BOOTS) ||
(p.getItemInHand().getType() == Material.IRON_HELMET) ||
(p.getItemInHand().getType() == Material.IRON_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.IRON_LEGGINGS) ||
(p.getItemInHand().getType() == Material.IRON_BOOTS) ||
(p.getItemInHand().getType() == Material.DIAMOND_HELMET) ||
(p.getItemInHand().getType() == Material.DIAMOND_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.DIAMOND_LEGGINGS) ||
(p.getItemInHand().getType() == Material.DIAMOND_BOOTS) ||
(p.getItemInHand().getType() == Material.BOW) || 
(p.getItemInHand().getType() == Material.FLINT_AND_STEEL) ||
(p.getItemInHand().getType() == Material.FISHING_ROD) ||
(p.getItemInHand().getType() == Material.CARROT_STICK) ||
(p.getItemInHand().getType() == Material.SHEARS))){
					p.getItemInHand().setDurability((short) -p.getItemInHand().getType().getMaxDurability());
					p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMensageRepair").replace("&", "§")
							.replace("{Player}", p.getName()).replace("{ItemHand}", p.getItemInHand().getData().getItemTypeId()+""));	
				return;
	              }
			  }
			}
		}
	}
	}
} 

 

 

 

 

Placa de info

 

 

 

package me.CEssentials.Managers;

import me.CEssentials.Main;

import org.bukkit.Material;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;

public class InfoItemPlaca implements Listener{

	
	@EventHandler
	public void setupSignInfo(SignChangeEvent e){
		Player p = e.getPlayer();
		if(!p.hasPermission("cessentials.setup.sign.info")){
			e.setCancelled(true);
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoMessageNotPermision").replace("&", "§"));
		}
		if(e.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Info.InfoSetupGetLineTransformSign"))){
			e.setLine(0, Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignLineOne").replace("&", "§"));
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignMessage")
					.replace("&", "§"));
			return;
		}
	}
	
	
	@EventHandler
	public void ClicksignInfo(PlayerInteractEvent e){
		if(e.getClickedBlock().getState() instanceof Sign){
		Player p = e.getPlayer();
		if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
			if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType()
					 == Material.WALL_SIGN)){
				Sign placa = (Sign) e.getClickedBlock().getState();
		if(placa.getLine(0).equalsIgnoreCase(Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignLineOne").replace("&", "§"))){
	              p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoIdItemMessage").replace("&", "§")
	            		  .replace("{Player}", p.getName()).replace("{ItemInHand}", p.getItemInHand().getData().getItemTypeId()+""));
	              return;
			  }
			}
		}
	}
	}
} 

 

 

 

se alguem souber ajudar vlw ai

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

bem eu to tentando atualizar o meu CEssentials '-'

e com isso me vei na mente eu colocar sistema de placas para reparar e de info(sao os que estou fazendo vou coloar mais)

 

vamo a duvida no meu code do sistema de reparo ta funcionando certin sem nenhum bug (pelo meno nao descobri nenhum '-')

e no sistema de info tambem nao porem

o de info ta realizando a funcão da placa de reparo e tambem realiza a propia funçao que é mostrar os ids dos items

 

as classes de cada codigo sao diferentes elas estao aki

e para quem nao entendeu vou resurmir rapidao agora

 

a placa de info esta realizando a função da placa de reparo e tambem realiza a sua função ja a placa de reparo esta funcionando normalmente realizando apenas a sua função

 

code

 

Placa de Reparo

 

 

package me.CEssentials.Managers;

import me.CEssentials.Main;

import org.bukkit.Material;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;

public class RepairPlaca implements Listener{

	@EventHandler
	public void setupSignRepair(SignChangeEvent e){
		Player p = e.getPlayer();
		if(!p.hasPermission("cessentials.setup.sign.repair")){
			e.setCancelled(true);
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMessageNotPermision").replace("&", "§"));
		}
		if(e.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupGetLineTransformSign"))){
			e.setLine(0, Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineOne").replace("&", "§"));
			e.setLine(1, Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineTwo").replace("&", "§"));
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignMessage")
					.replace("&", "§"));
			return;
		}
	}
	
	@EventHandler
	public void ClicksignRepair(PlayerInteractEvent e){
		if(e.getClickedBlock().getState() instanceof Sign){
		Player p = e.getPlayer();
		if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
			if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType()
					 == Material.WALL_SIGN)){
				Sign placa = (Sign) e.getClickedBlock().getState();
				if(!placa.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineOne").replace("&", "§"))
						 || (placa.getLine(1).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineTwo").replace("&", "§")))){
					if(p.getItemInHand().getType() == Material.AIR){
						p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairHandEmpty").replace("&", "§"));	
						return;
						}
	              if((((p.getItemInHand().getType() == Material.DIAMOND_AXE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_HOE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.IRON_AXE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_HOE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_AXE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_HOE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.STONE_AXE)) ||
	            		  (p.getItemInHand().getType() == Material.STONE_HOE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.WOOD_AXE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_HOE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_PICKAXE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_SPADE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_SWORD) || 
(p.getItemInHand().getType() == Material.LEATHER_HELMET) ||
(p.getItemInHand().getType() == Material.LEATHER_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.LEATHER_LEGGINGS) ||
(p.getItemInHand().getType() == Material.LEATHER_BOOTS) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_HELMET) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_LEGGINGS) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_BOOTS) ||
(p.getItemInHand().getType() == Material.GOLD_HELMET) ||
(p.getItemInHand().getType() == Material.GOLD_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.GOLD_LEGGINGS) ||
(p.getItemInHand().getType() == Material.GOLD_BOOTS) ||
(p.getItemInHand().getType() == Material.IRON_HELMET) ||
(p.getItemInHand().getType() == Material.IRON_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.IRON_LEGGINGS) ||
(p.getItemInHand().getType() == Material.IRON_BOOTS) ||
(p.getItemInHand().getType() == Material.DIAMOND_HELMET) ||
(p.getItemInHand().getType() == Material.DIAMOND_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.DIAMOND_LEGGINGS) ||
(p.getItemInHand().getType() == Material.DIAMOND_BOOTS) ||
(p.getItemInHand().getType() == Material.BOW) || 
(p.getItemInHand().getType() == Material.FLINT_AND_STEEL) ||
(p.getItemInHand().getType() == Material.FISHING_ROD) ||
(p.getItemInHand().getType() == Material.CARROT_STICK) ||
(p.getItemInHand().getType() == Material.SHEARS))){
					p.getItemInHand().setDurability((short) -p.getItemInHand().getType().getMaxDurability());
					p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMensageRepair").replace("&", "§")
							.replace("{Player}", p.getName()).replace("{ItemHand}", p.getItemInHand().getData().getItemTypeId()+""));	
				return;
	              }
			  }
			}
		}
	}
	}
} 

 

 

 

 

Placa de info

 

 

 

package me.CEssentials.Managers;

import me.CEssentials.Main;

import org.bukkit.Material;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;

public class InfoItemPlaca implements Listener{

	
	@EventHandler
	public void setupSignInfo(SignChangeEvent e){
		Player p = e.getPlayer();
		if(!p.hasPermission("cessentials.setup.sign.info")){
			e.setCancelled(true);
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoMessageNotPermision").replace("&", "§"));
		}
		if(e.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Info.InfoSetupGetLineTransformSign"))){
			e.setLine(0, Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignLineOne").replace("&", "§"));
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignMessage")
					.replace("&", "§"));
			return;
		}
	}
	
	
	@EventHandler
	public void ClicksignInfo(PlayerInteractEvent e){
		if(e.getClickedBlock().getState() instanceof Sign){
		Player p = e.getPlayer();
		if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
			if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType()
					 == Material.WALL_SIGN)){
				Sign placa = (Sign) e.getClickedBlock().getState();
		if(placa.getLine(0).equalsIgnoreCase(Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignLineOne").replace("&", "§"))){
	              p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoIdItemMessage").replace("&", "§")
	            		  .replace("{Player}", p.getName()).replace("{ItemInHand}", p.getItemInHand().getData().getItemTypeId()+""));
	              return;
			  }
			}
		}
	}
	}
} 

 

 

 

se alguem souber ajudar vlw ai

Critical, não entendi sua duvida, mais vou te dar uma ajuda aqui em 2 partes..

Na parte:

if(!p.hasPermission("cessentials.setup.sign.repair")){
            e.setCancelled(true);
            p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMessageNotPermision").replace("&", "§"));
        } 

troque para:

	       
if(!p.hasPermission("cessentials.setup.sign.repair")){
            e.getBlock().breakNaturally();
            p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMessageNotPermision").replace("&", "§"));
            return; 
        } 

E no de reparo, não tem necessidade de fazer um code tão grande, só dando uma mudada no que vou mandar, já melhora.

 

Code:

	            for (ItemStack is : p.getInventory().getContents()) {
	              try
	              {
	                is.setDurability((short)0);
	              }
	              catch (NullPointerException localNullPointerException) {}
	            }
	            for (ItemStack is : p.getEquipment().getArmorContents()) {
	              try
	              {
	                is.setDurability((short)0);
	              }
	              catch (NullPointerException localNullPointerException1) {}
	            }
	            p.sendMessage(ChatColor.GREEN + "Seus items foram reparados com sucesso.");
	          }

Ai você arruma as chaves que devem estar erradas, e muda a seu gosto..

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

bem eu to tentando atualizar o meu CEssentials '-'

e com isso me vei na mente eu colocar sistema de placas para reparar e de info(sao os que estou fazendo vou coloar mais)

 

vamo a duvida no meu code do sistema de reparo ta funcionando certin sem nenhum bug (pelo meno nao descobri nenhum '-')

e no sistema de info tambem nao porem

o de info ta realizando a funcão da placa de reparo e tambem realiza a propia funçao que é mostrar os ids dos items

 

as classes de cada codigo sao diferentes elas estao aki

e para quem nao entendeu vou resurmir rapidao agora

 

a placa de info esta realizando a função da placa de reparo e tambem realiza a sua função ja a placa de reparo esta funcionando normalmente realizando apenas a sua função

 

code

 

Placa de Reparo

 

 

package me.CEssentials.Managers;

import me.CEssentials.Main;

import org.bukkit.Material;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;

public class RepairPlaca implements Listener{

	@EventHandler
	public void setupSignRepair(SignChangeEvent e){
		Player p = e.getPlayer();
		if(!p.hasPermission("cessentials.setup.sign.repair")){
			e.setCancelled(true);
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMessageNotPermision").replace("&", "§"));
		}
		if(e.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupGetLineTransformSign"))){
			e.setLine(0, Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineOne").replace("&", "§"));
			e.setLine(1, Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineTwo").replace("&", "§"));
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignMessage")
					.replace("&", "§"));
			return;
		}
	}
	
	@EventHandler
	public void ClicksignRepair(PlayerInteractEvent e){
		if(e.getClickedBlock().getState() instanceof Sign){
		Player p = e.getPlayer();
		if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
			if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType()
					 == Material.WALL_SIGN)){
				Sign placa = (Sign) e.getClickedBlock().getState();
				if(!placa.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineOne").replace("&", "§"))
						 || (placa.getLine(1).contains(Main.plugin.getConfig().getString("Signs.Repair.RepairSetupFinishSignLineTwo").replace("&", "§")))){
					if(p.getItemInHand().getType() == Material.AIR){
						p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairHandEmpty").replace("&", "§"));	
						return;
						}
	              if((((p.getItemInHand().getType() == Material.DIAMOND_AXE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_HOE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.DIAMOND_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.IRON_AXE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_HOE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.IRON_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_AXE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_HOE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.GOLD_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.STONE_AXE)) ||
	            		  (p.getItemInHand().getType() == Material.STONE_HOE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_PICKAXE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_SPADE) ||
	            		  (p.getItemInHand().getType() == Material.STONE_SWORD) ||
	            		  (p.getItemInHand().getType() == Material.WOOD_AXE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_HOE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_PICKAXE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_SPADE) || 
	            		  (p.getItemInHand().getType() == Material.WOOD_SWORD) || 
(p.getItemInHand().getType() == Material.LEATHER_HELMET) ||
(p.getItemInHand().getType() == Material.LEATHER_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.LEATHER_LEGGINGS) ||
(p.getItemInHand().getType() == Material.LEATHER_BOOTS) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_HELMET) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_LEGGINGS) ||
(p.getItemInHand().getType() == Material.CHAINMAIL_BOOTS) ||
(p.getItemInHand().getType() == Material.GOLD_HELMET) ||
(p.getItemInHand().getType() == Material.GOLD_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.GOLD_LEGGINGS) ||
(p.getItemInHand().getType() == Material.GOLD_BOOTS) ||
(p.getItemInHand().getType() == Material.IRON_HELMET) ||
(p.getItemInHand().getType() == Material.IRON_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.IRON_LEGGINGS) ||
(p.getItemInHand().getType() == Material.IRON_BOOTS) ||
(p.getItemInHand().getType() == Material.DIAMOND_HELMET) ||
(p.getItemInHand().getType() == Material.DIAMOND_CHESTPLATE) ||
(p.getItemInHand().getType() == Material.DIAMOND_LEGGINGS) ||
(p.getItemInHand().getType() == Material.DIAMOND_BOOTS) ||
(p.getItemInHand().getType() == Material.BOW) || 
(p.getItemInHand().getType() == Material.FLINT_AND_STEEL) ||
(p.getItemInHand().getType() == Material.FISHING_ROD) ||
(p.getItemInHand().getType() == Material.CARROT_STICK) ||
(p.getItemInHand().getType() == Material.SHEARS))){
					p.getItemInHand().setDurability((short) -p.getItemInHand().getType().getMaxDurability());
					p.sendMessage(Main.plugin.getConfig().getString("Signs.Repair.RepairMensageRepair").replace("&", "§")
							.replace("{Player}", p.getName()).replace("{ItemHand}", p.getItemInHand().getData().getItemTypeId()+""));	
				return;
	              }
			  }
			}
		}
	}
	}
} 

 

 

 

 

Placa de info

 

 

 

package me.CEssentials.Managers;

import me.CEssentials.Main;

import org.bukkit.Material;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;

public class InfoItemPlaca implements Listener{

	
	@EventHandler
	public void setupSignInfo(SignChangeEvent e){
		Player p = e.getPlayer();
		if(!p.hasPermission("cessentials.setup.sign.info")){
			e.setCancelled(true);
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoMessageNotPermision").replace("&", "§"));
		}
		if(e.getLine(0).contains(Main.plugin.getConfig().getString("Signs.Info.InfoSetupGetLineTransformSign"))){
			e.setLine(0, Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignLineOne").replace("&", "§"));
			p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignMessage")
					.replace("&", "§"));
			return;
		}
	}
	
	
	@EventHandler
	public void ClicksignInfo(PlayerInteractEvent e){
		if(e.getClickedBlock().getState() instanceof Sign){
		Player p = e.getPlayer();
		if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
			if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType()
					 == Material.WALL_SIGN)){
				Sign placa = (Sign) e.getClickedBlock().getState();
		if(placa.getLine(0).equalsIgnoreCase(Main.plugin.getConfig().getString("Signs.Info.InfoSetupFinishSignLineOne").replace("&", "§"))){
	              p.sendMessage(Main.plugin.getConfig().getString("Signs.Info.InfoIdItemMessage").replace("&", "§")
	            		  .replace("{Player}", p.getName()).replace("{ItemInHand}", p.getItemInHand().getData().getItemTypeId()+""));
	              return;
			  }
			}
		}
	}
	}
} 

 

 

 

se alguem souber ajudar vlw ai

Poste a config...

 

Critical, não entendi sua duvida, mais vou te dar uma ajuda aqui em 2 partes..

Na linha que coloquei em vermelho, troque para:

e.getBlock().breakNaturally();

E no de reparo, não tem necessidade de fazer um code tão grande, só dando uma mudada no que vou mandar, já melhora.

 

Code:

	            for (ItemStack is : p.getInventory().getContents()) {
	              try
	              {
	                is.setDurability((short)0);
	              }
	              catch (NullPointerException localNullPointerException) {}
	            }
	            for (ItemStack is : p.getEquipment().getArmorContents()) {
	              try
	              {
	                is.setDurability((short)0);
	              }
	              catch (NullPointerException localNullPointerException1) {}
	            }
	            p.sendMessage(ChatColor.GREEN + "Seus items foram reparados com sucesso.");
	          }

Ai você arruma as chaves que devem estar erradas, e muda a seu gosto..

Na parte de reparar os items do inventario tem que fazer umas checagens se não vai dar uns errinhos...

 

 

 

Code que eu uso


		for (ItemStack i : inv.getContents())
		{
			if (i != null && i.getType() != Material.AIR)
			{
				if (i.getType().getMaxDurability() > 10 && i.getDurability() > 0)
				{
					i.setDurability((short)0);
				}
			}
		}
		
	

 

 

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

Poste a config...

 

Na parte de reparar os items do inventario tem que fazer umas checagens se não vai dar uns errinhos...

 

 

 

Code que eu uso


		for (ItemStack i : inv.getContents())
		{
			if (i != null && i.getType() != Material.AIR)
			{
				if (i.getType().getMaxDurability() > 10 && i.getDurability() > 0)
				{
					i.setDurability((short)0);
				}
			}
		}
		
	

 

 

Isso! Vlw leonardo! xD

Link para o comentário
Compartilhar em outros sites

Poste a config...

 

Na parte de reparar os items do inventario tem que fazer umas checagens se não vai dar uns errinhos...

 

 

 

Code que eu uso


		for (ItemStack i : inv.getContents())
		{
			if (i != null && i.getType() != Material.AIR)
			{
				if (i.getType().getMaxDurability() > 10 && i.getDurability() > 0)
				{
					i.setDurability((short)0);
				}
			}
		}
		
	

 

 

aki a config

vou postar so a parte das placas

 

 

 

#---------------------------------------------------------------------------------------------------------------------------#


#============================================@@@@@@@@@-->Placas<--@@@@@@@@@============================================#
Signs:
  Repair:
    RepairSetupGetLineTransformSign: 'repair'
    RepairMessageNotPermision: '&4[&cCEssentials&4]&cVocê não tem permissao para criar placas de reparo.'
    RepairSetupFinishSignLineOne: '&1[Repair]'
    RepairSetupFinishSignLineTwo: '&b-=Repare=-'
    RepairSetupFinishSignMessage: '&b[CEssentials]&6Placa de reparo criada com sucesso!'
    RepairMensageRepair: '&2{Player}&a O item &2{ItemHand} &a foi reparado!'
    RepairHandEmpty: '&4[&cCEssentials&4]&cNao existe nenhum item na sua mão.'
  Info:
    InfoSetupGetLineTransformSign: 'info'
    InfoMessageNotPermision: '&4[&cCEssentials&4]&cVocê não tem permissao para criar placas de reparo.'
    InfoSetupFinishSignLineOne: '&1[Info]'
    InfoSetupFinishSignMessage: '&b[CEssentials]&6Placa de info criada com sucesso!'
    InfoHandEmpty: '&4[&cCEssentials&4]&cNao existe nenhum item na sua mão.'
    InfoIdItemMessage: '&1{Player} &b o item na sua mão é &a{ItemInHand}' 

 

 

Link para o comentário
Compartilhar em outros sites

aki a config

vou postar so a parte das placas

 

 

 

#---------------------------------------------------------------------------------------------------------------------------#


#============================================@@@@@@@@@-->Placas<--@@@@@@@@@============================================#
Signs:
  Repair:
    RepairSetupGetLineTransformSign: 'repair'
    RepairMessageNotPermision: '&4[&cCEssentials&4]&cVocê não tem permissao para criar placas de reparo.'
    RepairSetupFinishSignLineOne: '&1[Repair]'
    RepairSetupFinishSignLineTwo: '&b-=Repare=-'
    RepairSetupFinishSignMessage: '&b[CEssentials]&6Placa de reparo criada com sucesso!'
    RepairMensageRepair: '&2{Player}&a O item &2{ItemHand} &a foi reparado!'
    RepairHandEmpty: '&4[&cCEssentials&4]&cNao existe nenhum item na sua mão.'
  Info:
    InfoSetupGetLineTransformSign: 'info'
    InfoMessageNotPermision: '&4[&cCEssentials&4]&cVocê não tem permissao para criar placas de reparo.'
    InfoSetupFinishSignLineOne: '&1[Info]'
    InfoSetupFinishSignMessage: '&b[CEssentials]&6Placa de info criada com sucesso!'
    InfoHandEmpty: '&4[&cCEssentials&4]&cNao existe nenhum item na sua mão.'
    InfoIdItemMessage: '&1{Player} &b o item na sua mão é &a{ItemInHand}' 

 

 

Ta bugando ainda?

Link para o comentário
Compartilhar em outros sites

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