LuizB Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 tenho o seguinte código pra reparar tudo clicando Na placa:Só que n funfaOBS: Eu registrei os eventos na classe principal( ate a placa ficou vermelha mas não reparavaCódigo: package utilidades; import org.bukkit.Material; import org.bukkit.block.Sign; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Repairable; public class Reparação implements Listener{ public void repairAll(Player p) { for(ItemStack items : p.getInventory().getContents()) { if(items instanceof Repairable) { items.setDurability((short)0); } } for(ItemStack items : p.getEquipment().getArmorContents()) { if(items instanceof Repairable) { items.setDurability((short)0); } } } @EventHandler(priority = EventPriority.HIGHEST) private void onSChange(SignChangeEvent e) { if(e.getLine(0).equalsIgnoreCase("[Reparar]")) { if(!e.getPlayer().hasPermission("funkits.sopa")) { e.setCancelled(true); e.getPlayer().sendMessage("§cSem permissao."); } else { e.setLine(0, "§4[Reparar]"); e.getPlayer().sendMessage("Placa de reparação colocada com sucesso!"); } } } @EventHandler(priority = EventPriority.HIGHEST) private void onClick(PlayerInteractEvent e) { Player player = 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("[Reparação]")) { repairAll(player); } } } } } Link para o comentário Compartilhar em outros sites More sharing options...
MrPowerGamerBR Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 Você escreve §4[Reparar] na placa e verifica [Reparação] no código para reparar... ...ok né. 1 Link para o comentário Compartilhar em outros sites More sharing options...
_Manel Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 to pelo cell então não da para ver direito mais você definiu a variável player p ? Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 to pelo cell então não da para ver direito mais você definiu a variável player p ? Sim Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 (editado) @EventHandler(priority = EventPriority.HIGHEST) private void onClick(PlayerInteractEvent e) { Player player = 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("[Reparar]")) { repairAll(player); } } } } Vc colocou pra quando clicar ne uma placa qe ta escrito reparaçao, arrumei testa ai, foi mal pelo codigo bagunçado mais to pelo cel Editado Fevereiro 26, 2016 por єxŧrαρłαys Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 @EventHandler(priority = EventPriority.HIGHEST) private void onClick(PlayerInteractEvent e) { Player player = 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("[Reparar]")) { repairAll(player); } } } }Vc colocou pra quando clicar ne uma placa qe ta escrito reparaçao, arrumei testa ai, foi mal pelo codigo bagunçado mais to pelo cel Não Funcionou ! Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 Não Funcionou ! Da algum erro? Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 Eu clico e n reparo Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 Eu clico e n reparo public class Reparação implements Listener{ public void repairAll(Player p) { for(ItemStack items : p.getInventory().getContents()) { if(items instanceof Repairable) { items.setDurability((short)0); } } for(ItemStack items : p.getEquipment().getArmorContents()) { if(items instanceof Repairable) { items.setDurability((short)0); } } } @EventHandler(priority = EventPriority.HIGHEST) private void onSChange(SignChangeEvent e) { if(e.getLine(0).equalsIgnoreCase("[Reparar]")) { if(!e.getPlayer().hasPermission("funkits.sopa")) { e.setCancelled(true); e.getPlayer().sendMessage("§cSem permissao."); } else { e.setLine(0, "§4[Reparar]"); e.getPlayer().sendMessage("Placa de reparação colocada com sucesso!"); } } } @EventHandler(priority = EventPriority.HIGHEST) private void onClick(PlayerInteractEvent e) { Player player = 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("[Reparar]")) { repairAll(player); } } } } } Tenta esse e olha se vai dar erro no console Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 Não Funcionou Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 Não Funcionou deu erro no console? Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 deu erro no console? Deu não Link para o comentário Compartilhar em outros sites More sharing options...
Pinke Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 Tenta aí: @EventHandler(priority = EventPriority.HIGHEST)private void onClick(PlayerInteractEvent e) { Player player = e.getPlayer();if(e.getAction() == Action.RIGHT_CLICK_BLOCK){if (e.getClickedBlock().getState() instanceof Sign) {Sign placa = (Sign) e.getClickedBlock().getState();if(placa.getLine(0).contains("[Reparar]")) { repairAll(player);}}}} Não testei, fiz pelo fórum msm Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 Tenta aí: Não testei, fiz pelo fórum msm tem como você organizar os espaços ? Link para o comentário Compartilhar em outros sites More sharing options...
LuizB Postado Fevereiro 26, 2016 Autor Denunciar Compartilhar Postado Fevereiro 26, 2016 Você escreve §4[Reparar] na placa e verifica [Reparação] no código para reparar... ...ok né. kkkkkkkkkkkkkk ( ta serto ) vlw ae kkkk Link para o comentário Compartilhar em outros sites More sharing options...
žφµร†ล√™ Postado Fevereiro 26, 2016 Denunciar Compartilhar Postado Fevereiro 26, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LuizB
tenho o seguinte código pra reparar tudo clicando Na placa:
Só que n funfa
OBS: Eu registrei os eventos na classe principal( ate a placa ficou vermelha mas não reparava
Código:
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados