-
Total de itens
330 -
Registro em
-
Última visita
Respostas na Comunidade
-
Ygor's postagem in Ajuda urgente - Erro mais besta, mais muito chato was marked as the answer
package br.com.ezequielgama;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import guis.WhitelistGUI;
public class WhitelistComandos implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("[ERRO NO SISTEMA] Apenas jogadores conseguem executar estes comandos.");
return false;
}
if (!sender.hasPermission("whitelist.admin")) {
sender.sendMessage("§cVocê precisa do grupo Gerente ou superior para utilizar este comando.");
return false;
}
if (cmd.getName().equalsIgnoreCase("wl")) {
Player player = (Player) sender;
if (args.length == 0) {
new WhitelistGUI(player);
} else {
new WhitelistGUI(player);
}
}
return false;
}
}
Tenta aí
-
Ygor's postagem in [Bug] Mensagem não da o delay was marked as the answer
Olá,
Na parte do código que você verifica se resta apenas uma chamada você diminui mais 1, ou seja.
Do 2 irá direto para 0.
Para solucionar isso é muito simples, retire o chamadas--; da verificação supracitada.
Abraços.
-
Ygor's postagem in Colocar Delay pra uma mensagem was marked as the answer
Exatamente, amigo.
Você está cancelando o task quando o inicia é igual a zero.
Então ele só roda uma vez, ou seja, só diminui um.
Outra coisa, poderia me explicar para que serve o "inicia"?
Tente retirar o this.cancel() do inicia.
-
Ygor's postagem in [Dúvida] Descontar item com lore e nome específicos was marked as the answer
Olá,
Para verificar se o item tem o nome específico você pode usar:
Player p = (Player)sender; if(p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aNome do item aqui") { // O nome confere } Para checar se o Lore confere você pode usar algo como:
if(p.getItemInHand().getItemMeta().getLore().get(0).equals("§aLinha 1 do Lore")) { // Se a linha 1 do Lore for igual ao definido, executa o método } Ou você pode apenas comprar o getLore() do item com a ArrayList que você criou.
Visto isso, basta juntar os dois códigos.
E, caso queira verificar mais que a primeira linha do código, basta ir fazendo verificações com Lore 0, 1, 2 etc
Qualquer dúvida fico à disposição
-
Ygor's postagem in [Duvida][Java][bukkit] org.bukkit.world entre classes was marked as the answer
Já tentou usar Bukkit.getWorld ao invés de main.getServer().getWorld?
-
Ygor's postagem in [Duvida] Executar comando apos jogador quebrar uma quantia de blocos! was marked as the answer
Adicione isso no código depois de executar o comando:
blocks.remove(e.getPlayer().getUniqueId()); // ou blocks.put(e.getPlayer().getUniqueId(), 0); -
Ygor's postagem in Plugin de givar qualquer item pelo console was marked as the answer
Para dar a picareta explosive você poderia criar um kit no Essentials e depois adicionar esse kit no shop.
-
Ygor's postagem in Chance para tesouros was marked as the answer
Quanto maior o valor do Random, mais difícil.
Quanto menor o valor do Random, mais fácil.
Vamos supor:
Random r = new Random(); Integer percent; percent = r.nextInt(100); int chance = 1; (Aqui você pode pegar na config) if( percent <= chance ) { // Se o resultado do random for menor ou igual a chance, ele roda o código. // No caso, ele tem 100 possibilidades (1/100 = 1%) } percent = r.nextInt(200); if( percent <= chance ) { // Mesma coisa que o anterior. // No caso aqui, a chance será de 0.5 porcento (1/200 = 0.5%) } Espero que tenha ficado simples pra entender.