Ir para conteúdo
  • 0

[Resolvido] [Dúvida] Scoreboard. Erro de objeto e scheduleSyncRepeatingTask


DEVKEWI

Pergunta

Olá leitor :3

Então... Estou tentando este problema em meu plugin de Scoreboard editável:

 

 

19:45:23 [iNFO] Kewilleen_[/192.168.0.102:2197] logged in with entity id 31 at (
[world] -1446.4342924329214, 152.5, -30.590971062637124)
19:45:26 [iNFO] Kewilleen_ lost connection: disconnect.quitting
19:45:27 [iNFO] Kewilleen_[/192.168.0.102:2206] logged in with entity id 32 at (
[world] -1446.4342924329214, 152.5, -30.590971062637124)
19:45:27 [sEVERE] Could not pass event PlayerJoinEvent to KwEssentials v0.1
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:427)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
a:62)
        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredLi
stener.java:30)
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
ava:478)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
ava:463)
        at net.minecraft.server.v1_5_R3.PlayerList.c(PlayerList.java:204)
        at net.minecraft.server.v1_5_R3.PlayerList.a(PlayerList.java:100)
        at net.minecraft.server.v1_5_R3.PendingConnection.d(PendingConnection.ja
va:134)
        at net.minecraft.server.v1_5_R3.PendingConnection.c(PendingConnection.ja
va:49)
        at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnect
ion.java:77)
        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5
83)
        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2
27)
        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4
72)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java
:404)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5
73)
Caused by: java.lang.IllegalArgumentException: An objective of name 'KwScoreboar
d' already exists
        at org.apache.commons.lang.Validate.isTrue(Validate.java:157)
        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew
Objective(CraftScoreboard.java:40)
        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew
Objective(CraftScoreboard.java:20)
        at kwessentials.metodos.KwScoreboard.getScoreboard(KwScoreboard.java:26)

        at kwessentials.eventos.KwEventos.quandoEntrar(KwEventos.java:107)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:425)
        ... 14 more
19:45:29 [iNFO] Kewilleen_ lost connection: disconnect.quitting

 

 

O erro é causado por IllegalArgumentException, que diz que o objeto já é existente.

O erro ocorre quando entro pela segunda vez no servidor.

 

Linha 26: kwessentials.metodos.KwScoreboard.getScoreboard(KwScoreboard.java:26)

 

 

o = sd.registerNewObjective("KwScoreboard", "KwEssentials");

 

 

 

Linha 107: kwessentials.eventos.KwEventos.quandoEntrar(KwEventos.java:107)

Obs: Acho que a linha de evento não é necessário posta-lá... Mas vai que precisse --'

 

 

KwScoreboard.getScoreboard(p);

 

 

 

 

E outro erro é o scheduleSyncRepeatingTask, em 60s era para atualizar e este erro eu nem sei resolver ;-;

 

 

19:46:24 [WARNING] [KwEssentials] Task #127 for KwEssentials v0.1 generated an e
xception
java.lang.IllegalStateException: Cannot set scoreboard for invalid CraftPlayer
        at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.setScoreboard(Craft
Player.java:1013)
        at kwessentials.metodos.KwScoreboard$1.run(KwScoreboard.java:48)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java
:58)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHea
rtbeat(CraftScheduler.java:344)
        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5
09)
        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2
27)
        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4
72)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java
:404)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5
73)
19:46:24 [WARNING] [KwEssentials] Task #129 for KwEssentials v0.1 generated an e
xception
java.lang.IllegalStateException: Cannot set scoreboard for invalid CraftPlayer
        at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.setScoreboard(Craft
Player.java:1013)
        at kwessentials.metodos.KwScoreboard$1.run(KwScoreboard.java:48)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java
:58)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHea
rtbeat(CraftScheduler.java:344)
        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5
09)
        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2
27)
        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4
72)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java
:404)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5
73)
19:46:24 [WARNING] [KwEssentials] Task #128 for KwEssentials v0.1 generated an e
xception
java.lang.IllegalStateException: Cannot set scoreboard for invalid CraftPlayer
        at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.setScoreboard(Craft
Player.java:1013)
        at kwessentials.metodos.KwScoreboard$1.run(KwScoreboard.java:48)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java
:58)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHea
rtbeat(CraftScheduler.java:344)
        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5
09)
        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2
27)
        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4
72)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java
:404)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5
73)

 

 

 

Espero que alguém me ajude :party:

Editado por Kewilleen G.
Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

Só saber um pouco de inglês: você já registrou outra Scoreboard com objective "KwScoreBoard".

Tente outro, tipo:

o = sd.registerNewObjective("KwScoreboard1", "dummy");
Link para o comentário
Compartilhar em outros sites

scoreboard pra 1.5 é mó dor de cabeça

tenta trocar KwEssentials pra "dummy"

 

 

Só saber um pouco de inglês: você já registrou outra Scoreboard com objective "KwScoreBoard".

Tente outro, tipo:

o = sd.registerNewObjective("KwScoreboard1", "dummy");

 

Mesmo erro --'

 

 

20:14:09 [iNFO] Kewilleen_[/192.168.0.102:2916] logged in with entity id 25 at (

[world] -1446.4342924329214, 152.5, -30.590971062637124)

20:14:36 [iNFO] Kewilleen_ lost connection: disconnect.quitting

20:14:54 [iNFO] /192.168.0.102:2924 lost connection

20:14:55 [iNFO] Kewilleen_[/192.168.0.102:2928] logged in with entity id 26 at (

[world] -1446.4342924329214, 152.5, -30.590971062637124)

20:14:56 [sEVERE] Could not pass event PlayerJoinEvent to KwEssentials v0.1

org.bukkit.event.EventException

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja

va:427)

        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav

a:62)

        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredLi

stener.java:30)

        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j

ava:478)

        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j

ava:463)

        at net.minecraft.server.v1_5_R3.PlayerList.c(PlayerList.java:204)

        at net.minecraft.server.v1_5_R3.PlayerList.a(PlayerList.java:100)

        at net.minecraft.server.v1_5_R3.PendingConnection.d(PendingConnection.ja

va:134)

        at net.minecraft.server.v1_5_R3.PendingConnection.c(PendingConnection.ja

va:49)

        at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnect

ion.java:77)

        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5

83)

        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2

27)

        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4

72)

        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java

:404)

        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5

73)

Caused by: java.lang.IllegalArgumentException: An objective of name 'KwScoreboar

d' already exists

        at org.apache.commons.lang.Validate.isTrue(Validate.java:157)

        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew

Objective(CraftScoreboard.java:40)

        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew

Objective(CraftScoreboard.java:20)

        at kwessentials.metodos.KwScoreboard.getScoreboard(KwScoreboard.java:26)

 

        at kwessentials.eventos.KwEventos.quandoEntrar(KwEventos.java:107)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja

va:425)

        ... 14 more

 

 

 

Acho que é mudar o KwScoreboard, mas se mudar (acho) que não vai dar erro, mas quando iniciar o servidor novamente pode causar o mesmo erro.

 

 

o = sd.registerNewObjective("KwScoreboard", "dummy");

 

 

Link para o comentário
Compartilhar em outros sites

Mesmo erro --'

 

 

20:14:09 [iNFO] Kewilleen_[/192.168.0.102:2916] logged in with entity id 25 at (

[world] -1446.4342924329214, 152.5, -30.590971062637124)

20:14:36 [iNFO] Kewilleen_ lost connection: disconnect.quitting

20:14:54 [iNFO] /192.168.0.102:2924 lost connection

20:14:55 [iNFO] Kewilleen_[/192.168.0.102:2928] logged in with entity id 26 at (

[world] -1446.4342924329214, 152.5, -30.590971062637124)

20:14:56 [sEVERE] Could not pass event PlayerJoinEvent to KwEssentials v0.1

org.bukkit.event.EventException

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja

va:427)

        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav

a:62)

        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredLi

stener.java:30)

        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j

ava:478)

        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j

ava:463)

        at net.minecraft.server.v1_5_R3.PlayerList.c(PlayerList.java:204)

        at net.minecraft.server.v1_5_R3.PlayerList.a(PlayerList.java:100)

        at net.minecraft.server.v1_5_R3.PendingConnection.d(PendingConnection.ja

va:134)

        at net.minecraft.server.v1_5_R3.PendingConnection.c(PendingConnection.ja

va:49)

        at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnect

ion.java:77)

        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5

83)

        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2

27)

        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4

72)

        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java

:404)

        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5

73)

Caused by: java.lang.IllegalArgumentException: An objective of name 'KwScoreboar

d' already exists

        at org.apache.commons.lang.Validate.isTrue(Validate.java:157)

        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew

Objective(CraftScoreboard.java:40)

        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew

Objective(CraftScoreboard.java:20)

        at kwessentials.metodos.KwScoreboard.getScoreboard(KwScoreboard.java:26)

 

        at kwessentials.eventos.KwEventos.quandoEntrar(KwEventos.java:107)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja

va:425)

        ... 14 more

 

 

 

Acho que é mudar o KwScoreboard, mas se mudar (acho) que não vai dar erro, mas quando iniciar o servidor novamente pode causar o mesmo erro.

 

 

o = sd.registerNewObjective("KwScoreboard", "dummy");

 

 

Parece que você colocou novamente KwScoreboard, coloque outro nome jovem... Tipo: "KwScoreBoard2" etc...

Link para o comentário
Compartilhar em outros sites

Se você irá criar um scoreboard para cada jogador pode fazer:

o = sd.registerNewObjective(player.getName(), "dummy");

O erro da repeating task é quando você tenta colocar o Scoreboard em um player "ainda não conectado", quando ele entrar, espere por volta de 5L para setar a scoreboard.

 

Dica: Não cria tarefa pra atualizar Scoreboard, atualize somente quando necessário, se for pra contar kill, atualiza no PlayerDeathEvent, se for pra contar blocos quebrados, atualiza no BlockBreakEvent, e assim por diante, só use tarefas se realmente for necessário.

Link para o comentário
Compartilhar em outros sites

Se você irá criar um scoreboard para cada jogador pode fazer:

o = sd.registerNewObjective(player.getName(), "dummy");

O erro da repeating task é quando você tenta colocar o Scoreboard em um player "ainda não conectado", quando ele entrar, espere por volta de 5L para setar a scoreboard.

 

Dica: Não cria tarefa pra atualizar Scoreboard, atualize somente quando necessário, se for pra contar kill, atualiza no PlayerDeathEvent, se for pra contar blocos quebrados, atualiza no BlockBreakEvent, e assim por diante, só use tarefas se realmente for necessário.

Boa dica!

Link para o comentário
Compartilhar em outros sites

Parece que você colocou novamente KwScoreboard, coloque outro nome jovem... Tipo: "KwScoreBoard2" etc...

Então jovem, como eu disse acima, se eu alterar o objeto não irá resolver porque o erro vai persistir.

 

 

20:27:27 [iNFO] Kewilleen_[/192.168.0.102:3253] logged in with entity id 25 at (

[world] -1446.4342924329214, 152.5, -30.590971062637124)

20:27:32 [iNFO] Kewilleen_ lost connection: disconnect.quitting

20:27:33 [iNFO] /192.168.0.102:3264 lost connection

20:27:33 [iNFO] Kewilleen_[/192.168.0.102:3265] logged in with entity id 26 at (

[world] -1446.4342924329214, 152.5, -30.590971062637124)

20:27:34 [sEVERE] Could not pass event PlayerJoinEvent to KwEssentials v0.1

org.bukkit.event.EventException

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja

va:427)

        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav

a:62)

        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredLi

stener.java:30)

        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j

ava:478)

        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j

ava:463)

        at net.minecraft.server.v1_5_R3.PlayerList.c(PlayerList.java:204)

        at net.minecraft.server.v1_5_R3.PlayerList.a(PlayerList.java:100)

        at net.minecraft.server.v1_5_R3.PendingConnection.d(PendingConnection.ja

va:134)

        at net.minecraft.server.v1_5_R3.PendingConnection.c(PendingConnection.ja

va:49)

        at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnect

ion.java:77)

        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5

83)

        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2

27)

        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4

72)

        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java

:404)

        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5

73)

Caused by: java.lang.IllegalArgumentException: An objective of name 'Scoreboard'

 already exists

        at org.apache.commons.lang.Validate.isTrue(Validate.java:157)

        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew

Objective(CraftScoreboard.java:40)

        at org.bukkit.craftbukkit.v1_5_R3.scoreboard.CraftScoreboard.registerNew

Objective(CraftScoreboard.java:20)

        at kwessentials.metodos.KwScoreboard.getScoreboard(KwScoreboard.java:26)

 

        at kwessentials.eventos.KwEventos.quandoEntrar(KwEventos.java:107)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja

va:425)

        ... 14 more

 

 

 

Se você irá criar um scoreboard para cada jogador pode fazer:

o = sd.registerNewObjective(player.getName(), "dummy");

O erro da repeating task é quando você tenta colocar o Scoreboard em um player "ainda não conectado", quando ele entrar, espere por volta de 5L para setar a scoreboard.

 

Dica: Não cria tarefa pra atualizar Scoreboard, atualize somente quando necessário, se for pra contar kill, atualiza no PlayerDeathEvent, se for pra contar blocos quebrados, atualiza no BlockBreakEvent, e assim por diante, só use tarefas se realmente for necessário.

Coloquei 5L e o erro persiste.

 

 

20:36:59 [WARNING] [KwEssentials] Task #28 for KwEssentials v0.1 generated an ex

ception

java.lang.IllegalStateException: Cannot set scoreboard for invalid CraftPlayer

        at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.setScoreboard(Craft

Player.java:1013)

        at kwessentials.metodos.KwScoreboard$1.run(KwScoreboard.java:48)

        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java

:58)

        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHea

rtbeat(CraftScheduler.java:344)

        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5

09)

        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2

27)

        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4

72)

        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java

:404)

        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5

73)

20:36:59 [WARNING] [KwEssentials] Task #29 for KwEssentials v0.1 generated an ex

ception

java.lang.IllegalStateException: Cannot set scoreboard for invalid CraftPlayer

        at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.setScoreboard(Craft

Player.java:1013)

        at kwessentials.metodos.KwScoreboard$1.run(KwScoreboard.java:48)

        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java

:58)

        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHea

rtbeat(CraftScheduler.java:344)

        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5

09)

        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2

27)

        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4

72)

        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java

:404)

        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5

73)

20:37:00 [WARNING] [KwEssentials] Task #27 for KwEssentials v0.1 generated an ex

ception

java.lang.IllegalStateException: Cannot set scoreboard for invalid CraftPlayer

        at org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer.setScoreboard(Craft

Player.java:1013)

        at kwessentials.metodos.KwScoreboard$1.run(KwScoreboard.java:48)

        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java

:58)

        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHea

rtbeat(CraftScheduler.java:344)

        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5

09)

        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2

27)

        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4

72)

        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java

:404)

        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5

73)

 

 

 

 

@EDIT:

Existe alguma forma de cancelar o repeatTask quando o jogador sair do servidor? E se cancelar irá afetar outros jogadores?

Editado por Kewilleen G.
Link para o comentário
Compartilhar em outros sites

Faz assim:

@EventHandler
public void onJoin(PlayerJoinEvent e) {
    // Cria o scoreboard, objective, scores, etc...
    // Usa o BukkitScheduler e atrasa 5L, então seta o Scoreboard no jogador
}

// Atualiza nos eventos, suponhamos que tenha o score "kills"
@EventHandler
public void onKill(PlayerDeathEvent e) {
    if (!(e.getEntity().getKiller() instanceof Player)) return;
    Player killer = e.getEntity().getKiller();
    Score sk = kills.get(killer.getName());
    sk.setScore(sk.getScore() + 1);
    // "kills" no caso seria um HashMap<String, Score>, onde você salvaria o score de kill para cada jogador
}
Link para o comentário
Compartilhar em outros sites

Resolvi era erro de estrutura do código, eu não posso fazer uma variável para Scoreboard sd = Bukkit.getServer().getScoreboardManager().getNewScoreboard();

Por isso ele dava o erro constante do repeatTask e de objeto existente....

 

(Não posso dar melhor resposta para mim mesmo --' )

Link para o comentário
Compartilhar em outros sites

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