Ir para conteúdo

bieel1503

Membros
  • Total de itens

    130
  • Registro em

  • Última visita

Tudo que bieel1503 postou

  1. Desculpa, mas acho que você está procurando por ISSO. Lá explica que o plugin tem alguns métodos para setar as 'scoreboards'. Mas explicando rapidinho, o que você quer é o método 'WORLD', que seta a 'scoreboard' com o nome do mundo que você entra. Exemplo: Quero que no mundo do nether tenha uma scoreboard especifica, então eu crio a 'scoreboard' com o nome de 'world_nether' e coloco o 'WORLD' como o método principal na configuração 'scoreboard-assigning'. Exemplo: Esse 'PERMISSION' em baixo, significa que caso não tenha uma 'scoreboard' com o nome daquele mundo, ele vai tentar colocar a 'scoreboard' que tá na permissão.
  2. eita, que estranho... deveria estar funcionando. o evento pega o NPC? tenta fazer isso: public static void Scoreboard(Player player){ if(CitizensAPI.getNPCRegistry().isNPC(player)){ Bukkit.broadcastMessage("NPC teste"); return; } Scoreboard scoreboard = Bukkit.getScoreboardManager().getNewScoreboard(); Objective objective = scoreboard.registerNewObjective("showhealth", "health"); objective.setDisplaySlot(DisplaySlot.BELOW_NAME); objective.setDisplayName("§c❤"); player.setScoreboard(scoreboard); player.setHealth(player.getHealth()); } compila, reinicia o servidor e vê se aparece "NPC teste" no console. provalvelmente não vai aparecer... desculpa ai, não sei mais como te ajudar.
  3. Tenta assim: public static void Scoreboard(Player player){ if(CitizensAPI.getNPCRegistry().isNPC(player)) return; Scoreboard scoreboard = Bukkit.getScoreboardManager().getNewScoreboard(); Objective objective = scoreboard.registerNewObjective("showhealth", "health"); objective.setDisplaySlot(DisplaySlot.BELOW_NAME); objective.setDisplayName("§c❤"); player.setHealth(player.getHealth()); player.setScoreboard(scoreboard); }
  4. Sim, só checar na hora que você estiver setando a scoreboard pros jogadores e não na hora de setar um novo objetivo.
  5. Bem, você tá registrando um novo 'objetivo' na scoreboard, todos que estiverem com essa scoreboard vai ter os corações.
  6. A tag, como você tá setando pro jogador? Por um plugin que utiliza a API dele ou pelo comando do próprio plugin(/nte player)? Se for pela API, ele não salva na config, ele só salva quando você aplica por comando. Se estiver utilizando a API, você tem que salvar manualmente. Você pode ver como ele salva AQUI.
  7. É, não manda nenhum erro mesmo. Essa mensagem acontece quando tem o "MVdWPlaceholderAPI" e não tem nenhum plugin de placeholder, como tá AQUI. E como você tá colocando o prefix? Parece que ele só salva no 'players.yml' quando aplica por comando.
  8. Tem algum erro antes desse? Traduzindo o erro: [NametagEdit] Como o erro acima sugere, você NÃO tem nenhum plugin de placeholder instalado. A API do placeholder é meramente uma interface, a qual necessita outros plugins para funcionar. Isso NÃO é um erro com o NametagEdit.
  9. bieel1503

    MySQL Async

    Mesma lógica. O que muda é que o "executeUpdate" retorna '0', caso queria checar se não "upidaitou". Se estiver com dúvida com o callback, o que eu recomendo é brincar um pouco com o código. A classe que eu criei como exemplo tem apenas um método, mas ela pode ter vários, por exemplo.
  10. bieel1503

    MySQL Async

    Queries podem demorar para serem concluidas, por isso, async. Quando falamos para fazer algo em async(em bukkit), é simplesmente criar uma "task async" e fazer tudo dentro dela. Como você pode ter percebido, a main thread não espera essa task, por isso utilizamos "callbacks" quando queremos retornar algo dessa task. Uma classe callback, como você pode ter imaginado, é uma classe que espera ser chamada. Ela, que normalmente é feita como uma interface e usada como uma classe anônima, possui um método que pode ser chamada em qualquer momento. Aqui um exemplo: public interface Callback {//Apenas um exemplo, isso poderia ser uma classe abstract ou até mesmo uma classe. public void call(String novo_nick);//Apenas um exemplo, isso poderia retornar qualquer objeto. } //Exemplo public static void pegarNickNovo(String jogador, Callback callback){ new BukkitRunnable(){ public void run(){ String novo_nick = null; try(PreparedStatement statement = connection.preparedStatement("SELECT novo_nick FROM jogadores WHERE jogador=?;")){ statement.setString(1, jogador); ResultSet resultSet = statement.executeQuery(); if(resultSet.next()){ novo_nick = resultSet.getString(1); } }catch(Exception exception){ exception.print }finally{ callback.call(novo_nick); } } }.runTaskAsync(plugin); } pegarNickNovo("bieel1503", new Callback(){ public void call(String novo_nick){ if(novo_nick != null){ //eba }else{ //droga! } } });
  11. Acho que na API não tem, mas você pode ver como o próprio plugin salva: CreateCommand, saveHologram.
  12. Tem sim! Você pode fazer isso com o 'UPSERT', que é um 'INSERT' normal com o 'ON CONFLICT' inserido. Mas o 'UPSERT' só funciona para a versão 3.24.0 ou superior, então, caso esteja utilizando uma versão que não suporte o 'UPSERT', você pode usar o 'INSERT OR REPLACE'. Os dois apenas funciona caso a fileira for 'UNIQUE'. Exemplo do 'UPSERT': --'name' sendo 'PRIMARY KEY' INSERT INTO jogadores(name, data) VALUES ('bieel1503', 'blabla') ON CONFLICT(name) DO UPDATE SET data='blabla'; Exemplo do 'INSERT OR REPLACE': --'name' sendo 'PRIMARY KEY'. --Esse comando vai inserir, caso não exista, ou deletar a coluna que deu conflito e recriar com os novos dados. INSERT OR REPLACE INTO jogadores(name, data) VALUES ('bieel1503', 'blabla'); Você pode ler mais sobre AQUI.
  13. O "getMetadata(key)" retorna uma lista de "MetadataValue". Normalmente, você pode fazer "getMetadata(key).get(0)", mas tem que tomar cuidado, porque pode conter outros valores de outros plugins. Ah, e também, a Bukkit tem uma WIKI falando sobre isso e várias outras coisas, vale a pena procurar lá quando estiver com dúvida.
  14. ele é cancelado se chamado dentro dele mesmo? já fez um teste para ver se o método "close" realmente tenta cancelar?
  15. estranho. dentro da task, antes de chamar o método "close", aquele broadcast é mandado?
  16. Tá legal! Eu fiz, recentemente, um sistema de clans, mas acabei trocando para sistema de partys; aqui está os comandos para você ter umas ideias:
  17. Por que não faz na última versão do minecraft? Ah, e o spawn ficou legal.
  18. Cê tá fazendo que tipo de servidor?
  19. Cê tá pensando em criar que tipo de servidor?
  20. Poderia adicionar algum meio de contato, ein. Aliás, o servidor será na última versão do minecraft?
  21. Mágica? haha MODS são totalmente "client-side", se o MOD não "enviar dados" para o servidor, não vai ter como fazer... Pelo menos eu acho. Sei lá. Qual jar você está usando?
×
×
  • Criar Novo...