-
Total de itens
239 -
Registro em
-
Última visita
Respostas na Comunidade
-
ElGaubinho's postagem in [Pedido] Alguns kits para kitpvp was marked as the answer
Posso faze-lo, têm como me passar seu discord?
-
ElGaubinho's postagem in [Resolvido] Andar was marked as the answer
é só usar o evento PlayerMoveEvent
é só usar o evento PlayerMoveEvent
-
ElGaubinho's postagem in [Resolvido] [Dúvida] Task was marked as the answer
// Lista para armazenar os tasks private HashMap<String, BukkitRunnable> taskList = new HashMap<String, BukkitRunnable>(); // Cria um task void criarTask(Player p) { BukkitRunnable task = new BukkitRunnable() { // quando o task for chamado... @Override public void run() { Bukkit.broadCastMessage("O método run foi chamado!"); // execute aqui suas funções } }./*runTask... Agora você completa com a função que você quer. Se for para repetir use "runTaskTimer" senão use "runTaskLater"*/ taskList.put(p.getUniqueId().toString(), task); } void cancelarTask(Player p) { if (!taskList.containsKey(p.getUniqueId().toString()) return; // Recupera e cancela o task BukkitRunnable task = taskList.get(p.getUniqueId().toString()); task.cancel(); taskList.remove(p.getUniqueId().toString()); } -
ElGaubinho's postagem in [Entregue] [Pedido] Imagem Em Mapas was marked as the answer
http://dev.bukkit.org/bukkit-plugins/imageonmap/
-
ElGaubinho's postagem in [Resolvido] Erro com um codigo was marked as the answer
@SuppressWarnings("deprecation")
@EventHandler
public void ac(PlayerInteractEvent e){
Player p = e.getPlayer();
ItemStack tool = p.getItemInHand();
if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
if (tool.hasItemMeta()) {
ItemMeta toolm = tool.getItemMeta();
if(tool.getType() == Material.ENDER_CHEST){
if(toolm.getDisplayName().equals("§eEnderchest §9Portatil")){//Linha 79
e.setCancelled(true);
p.openInventory(p.getEnderChest());
return;
}else{
p.sendMessage("§eVoce colocou um Enderchest no chao");
p.sendMessage("§bVoce tambem pode comprar um enderchest portatil");
return;
}
}
}
}
}
-
ElGaubinho's postagem in [Resolvido] [Ajuda] Inventario was marked as the answer
A instância da sua config está nula provavelmente
-
ElGaubinho's postagem in [Resolvido] [Dúvida] Argumentos was marked as the answer
Fora do seu método de comando, use
public static String quest; public static String answer;
No método é só colocar então
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length;i++){ buffer.append(args[i]); } String allArguments = buffer.toString(); if (allArguments.contains("=")) { String[] splitedArgs = allArguments.split("="); // Aqui você pode fazer oque quiser com os argumentos divididos // Eu só coloquei para imprimir no console cada um deles. // OBS: Pode tirar xD for (int i = 0; i < splitedArgs.length;i++){ System.out.println(splitedArgs[i] + "\n"); } quest = splitedArgs[0]; answer = splitedArgs[1]; } } Se quiser salvar em config basta setar as strings na config
Se quiser salvar temporariamente utilize um HashMap<String, String>
-
ElGaubinho's postagem in [Resolvido] [Dúvida Bukkit] Atributos e/ou Lore! was marked as the answer
item.setMetadata("metaID", new FixedMetadataValue(/*Seu plugin*/, /*Valor da metadata*/)); if (item.hasMetadata("metaID")) { // Faça algo } // OBS: O objeto "item" precisa ser uma entidade OBS: Se você for usar isso em itens normais sugiro que você use um hashmap
Ex:
// No caso ai você estará criando um Map de itens como chave e textos como valor protected HashMap<ItemStack, String> items = new HashMap<>(); // Para adicionar você usa items.put(/*seuItem*/, /*valorDeTexto*/); -
ElGaubinho's postagem in [Resolvido] [Ajuda] Localização Exata was marked as the answer
Primeiro, para pegar as coordenadas exatas de um jogador você deve usar
p.getLocation().getX();
p.getLocation().getY();
p.getLocation().getZ();
em vez de p.getLocation().getBlockX();
Para pegar o local que o jogador está olhando
Você deve usar os floats yaw e pitch
p.getLocation().getYaw();
p.getLocation().getPitch();
Depois é só trocar no seu código
E na hora de pegar os valores da config a string tem que ser a mesma não pode ser para setar "Yaw" e pegar "YAW"
-
ElGaubinho's postagem in [Resolvido] [Dúvida Bukkit] Foguete was marked as the answer
@Off faz um curso completo de java antes de mexer com a Bukkit API pelo amor de Deus.
@Topic O "instanceof" serve para checar se uma classe possui conteúdo de outra (resumo disso: instanceof significa no português: "é um")
Exemplo:
Arvore instanceof Carvalho // árvore é um carvalho? -
ElGaubinho's postagem in [Resolvido] [Duvida] Localização Do Player was marked as the answer
private Block getAboveBlock(Player p, double count) { // Pega a localização do player Location loc = p.getLocation(); // Pega a localização do player e adiciona a quantidade Y Location above = loc.add(0.0, count, 0.0); // Retorna a você o bloco da localização return above.getBlock(); } Agora para checar se for ar:
private boolean isAir(Block block) { return (block.getType() == Material.AIR); } public void sendPlayer(Player p) { p.sendMessage((isAir(getAboveBlock(p, 2.0)) ? "Parabéns você encontrou ar!" : "Continue procurando o AR uma hora você vai encontra-lo!")); } -
ElGaubinho's postagem in [Resolvido] Como checar se o player está na 1.7 e na 1.8? was marked as the answer
private String getVersion(Player p) { CraftPlayer cp = (CraftPlayer)p; return (cp.getHandle().playerConnection.networkManager.getVersion() == 47 ? "1.8" : "1.7"); } Ai é só adicionar isso ao seu código
Exemplo:
@EventHandler public void join(PlayerJoinEvent e) { e.getPlayer().sendMessage("Você está na versão " + getVersion(e.getPlayer()) + " do Minecraft!"); } PS: Código feito no Spigot 1.7.x / 1.8.x
-
ElGaubinho's postagem in [Resolvido] [Duvida] Bukkit Death Screen was marked as the answer
Packets são usados nos jogos para o multiplayer (transportar dados) se eu não me engano
Você precisa criar um desses Packets e enviar para a conexão do jogador
Então, para você desabilitar a tela de respawn é só criar uma packet quando o jogador morrer
Exemplo:
public class Classe implements Listener { @EventHandler public void death(PlayerDeathEvent e) { Player p = e.getPlayer(); // Cria um timer // Isso é necessário para não ocorrer bugs new BukkitRunnable() { public void run() { // Cria o jogador CraftPlayer cp = (CraftPlayer) p; // Packet de respawn PacketPlayOutRespawn packet = new PacketPlayOutRespawn(); cp.getHandle().playerConnection.a(packet); } }.runTaskLater(/*Seus argumentos*/, 15L); } } O que esse código faz?
Ele cria uma packet de respawn e envia ao jogador quando ele morre, assim o jogo dele vai entender que não é necessário aparecer a tela de respawn
@Edit
Caso esse código não funcionar
Utilize este:
public class Classe implements Listener { @EventHandler public void death(PlayerDeathEvent e) { Player p = e.getPlayer(); // Cria um timer // Isso é necessário para não ocorrer bugs new BukkitRunnable() { public void run() { // Cria o jogador CraftPlayer cp = (CraftPlayer) p; // Packet de respawn PacketPlayInClientCommand packet = new PacketPlayInClientCommand(EnumClientCommand.PERFORM_RESPAWN) cp.getHandle().playerConnection.a(packet); } }.runTaskLater(/*Seus argumentos*/, 15L); } } Este código acima faz o Cliente do jogador fazer o respawn automáticamente como se fosse ele que tivesse clicado para respawnar
-
ElGaubinho's postagem in [Resolvido] [Ajuda] Calculo Java was marked as the answer
Manda uma print do score
@Edit
Esqueci de ler a última frase '-'
Bom essa é uma regra básica da matemática cara você não pode dividir um número por zero então é só fazer uma checagem:
Score kdrScore = null; if (kills > 0 && deaths > 0) kdrScore =obj.getScore(Bukkit.getOfflinePlayer("§4Kdr:" + " §f" + kills / Deaths)); else kdrScore =obj.getScore(Bukkit.getOfflinePlayer("§4Kdr:" + " §f0")); -
ElGaubinho's postagem in [Resolvido] [Duvida] PlayerDeathEvent + HashMap was marked as the answer
int value = playerKills.get(player.getUniqueId().toString()).intValue(); StringBuilder playerString = new StringBuilder(); playerString.append(player.getUniqueId().toString()); playerString.append("/"); playerString.append(value); String path = "SeuCaminho"; getConfig().set(path, playerString.toString());