Ir para conteúdo
  • 0

[Resolvido] [Java] Ajudinha aqui pls...


Pinke

Pergunta

Então pessoal...

Eu tenho um servidor 1.5.2. Fiz um plugin de clans para ele, legal, tudo bonitinho.

Agora que vou criar um novo servidor 1.8, eu estou apenas atualizando este plugin de clan.

 

O sistema de teams parou de funcionar, e não tem nenhum erro no código. Alguém consegue me ajudar?

 

Erro no console:

 

 

[16:44:42] [Craft Scheduler Thread - 3/WARN]: Exception in thread "Craft Scheduler Thread - 3" 
[16:44:42] [Craft Scheduler Thread - 3/WARN]: org.apache.commons.lang.UnhandledException: Plugin Clans v1.0 generated an exception while executing task 12
at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Asynchronous scoreboard creation!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14)
at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboardManager.getNewScoreboard(CraftScoreboardManager.java:45)
at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboardManager.getNewScoreboard(CraftScoreboardManager.java:1)
at me.clans.Metodos.atualizarNomeNoTAB(Metodos.java:371)
at me.clans.Jogador$1.run(Jogador.java:23)
at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more

 
Código:

ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard board = manager.getNewScoreboard();   <- Esta é a linha 371
Team team = board.registerNewTeam(p.getName());
team.addPlayer(p);

 

Eu estou usando este código só para adicionar o prefixo do clan no nome dele no tab...

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

10 respostass a esta questão

Posts Recomendados

Desse jeito ai, não pode criar em uma task async, da pra criar os scoreboards em async, mas eles teriam que ser por packets...

Testei aq e tirou o erro, mas não mudou nada no tab kk

Pode me enviar este código?

Nunca mexi com packets, faço a mínima idéia.

Dei uma pesquisadinha no Google e só aparece coisas antiguinhas slá  .-.

 

PS: Estou usando o ProtocolLib para colocar o "cabeçalho" no TAB. É possível utilizar o ProtocolLib para colocar o prefixo no nome do cara tbm?

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

Testei aq e tirou o erro, mas não mudou nada no tab kk

Pode me enviar este código?

Nunca mexi com packets, faço a mínima idéia.

Dei uma pesquisadinha no Google e só aparece coisas antiguinhas slá  .-.

 

PS: Estou usando o ProtocolLib para colocar o "cabeçalho" no TAB. É possível utilizar o ProtocolLib para colocar o prefixo no nome do cara tbm?

Li errado shuygsuhs, tem uns plugins na net que faz isso...

 

https://www.spigotmc.org/resources/customtab-customize-your-tablist-header-and-footer-1-8-1-8-8.2470/

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

 

Mas estes "plugins na net" não são compatíveis com meus '-'

Em fim..

Eu fiz meu tab no estilo desse plugin aí, mas, o que eu preciso agora é colocar um prefixo no nome do cara.

Link para o comentário
Compartilhar em outros sites

Testei aq e tirou o erro, mas não mudou nada no tab kk

Pode me enviar este código?

Nunca mexi com packets, faço a mínima idéia.

Dei uma pesquisadinha no Google e só aparece coisas antiguinhas slá  .-.

 

PS: Estou usando o ProtocolLib para colocar o "cabeçalho" no TAB. É possível utilizar o ProtocolLib para colocar o prefixo no nome do cara tbm?

Sim, é possível utilizar o ProtocolLib para colocar Prefix no Nome do Player

 

 

Desse jeito ai, não pode criar em uma task async, da pra criar os scoreboards em async, mas eles teriam que ser por packets...

Na vdd não, tem como criar scoreboards em async usando o sistema de scoreboard da bukkit mesmo.

Link para o comentário
Compartilhar em outros sites

Sim, é possível utilizar o ProtocolLib para colocar Prefix no Nome do Player

 

 

Na vdd não, tem como criar scoreboards em async usando o sistema de scoreboard da bukkit mesmo.

 

E como que eu uso o PL para colocar o prefixo?

Link para o comentário
Compartilhar em outros sites

Pessoal, eu achei um código na net q deu certo.

 

 

Scoreboard scoreboard = p.getScoreboard();

Team team = scoreboard.getTeam(p.getName());
if(team == null)
team = scoreboard.registerNewTeam(p.getName());

 

Só uma última dúvida: Como faço para "excluir" esse Team dps?

Link para o comentário
Compartilhar em outros sites

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