Skocz do zawartości
  • 0

Dziwny błąd w konsoli


Pytanie

Witam,

piszę plugin pod Minecraft. Od długiego czasu borykam się z niezrozumiałym dla mnie problemem. Czasami, bo nie zawsze otrzymuję błąd java.lang.NoClassDefFoundError w miejscu BukkitRunnable(). Problem pojawia się po dłuższym czasie działania pluginu. Gdy już się pojawi, to tylko restart pomaga go usunąć. Nie wiem o co chodzi. Jest to bardzo dziwne, bo wszystko działa dobrze i w którymś momencie nagle się psuje. Dlaczego się tak dzieje?

Błąd:

Spoiler
[17:49:30] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to SuperHeroWars v1.0
java.lang.NoClassDefFoundError: me/Adixe/superherowars/game/magics/magic9/TridentAnimation$1
	at me.Adixe.superheroWars.game.magics.magic9.TridentAnimation.start(TridentAnimation.java:21) ~[?:?]
	at me.Adixe.superheroWars.game.magics.magic9.Tridents.spawn(Tridents.java:59) ~[?:?]
	at me.Adixe.superheroWars.game.magics.launchers.PlayerClick.magic9(PlayerClick.java:388) ~[?:?]
	at me.Adixe.superheroWars.game.magics.launchers.PlayerClick.onPlayerClick(PlayerClick.java:194) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor139.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:531) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:494) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:489) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:485) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1832) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:32) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:9) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:55) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1311) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1304) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1280) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1124) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:290) ~[patched_1.16.5.jar:git-Tuinity-"b12d0cc"]
	at java.lang.Thread.run(Thread.java:834) [?:?]

 

 

Kod:

new org.bukkit.scheduler.BukkitRunnable() {
            @Override
            public void run() {

                FileConfiguration settings = Config.getSettingsFile();

                Location location = trident.getLocation();
                if (trident.isDead()) {
                    Objects.requireNonNull(location.getWorld()).spawnParticle(
                            Particle.valueOf(settings.getString("Game.Magics.Magic9.Tridents.Hit.Particle.Type")),
                            location, settings.getInt("Game.Magics.Magic9.Tridents.Hit.Particle.Count"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.OffSetX"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.OffSetY"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.OffSetZ"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Hit.Particle.Speed"));

                    Objects.requireNonNull(location.getWorld()).playSound(location, Objects.requireNonNull(settings.getString("Game.Magics.Magic9.Tridents.Hit.Sound")), 2.0f, 1.0f);

                    this.cancel();
                } else {
                    Objects.requireNonNull(location.getWorld()).spawnParticle(
                            Particle.valueOf(settings.getString("Game.Magics.Magic9.Tridents.Particle.Type")),
                            location, settings.getInt("Game.Magics.Magic9.Tridents.Particle.Count"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Particle.OffSetX"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Particle.OffSetY"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Particle.OffSetZ"),
                            settings.getDouble("Game.Magics.Magic9.Tridents.Particle.Speed"));
                }
            }
        }.runTaskTimer(plugin, 1L, 1L);

Tak jak mówiłem, problem pojawia się od pewnego momentu, wcześniej wszystko działa poprawnie. Będę wdzięczny za pomoc!

Edytowane przez AdixeMC
Uaktualnienie kodu, ponowne sformułowanie pytania.
Odnośnik do odpowiedzi
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
W dniu 14.03.2021 o 12:04, AdixeMC napisał:

Witam,

piszę plugin pod Minecraft. Wszystko działało poprawnie do pewnego momentu. Czasami, bo nie zawsze prawie wszystkie klasy pluginu zwracają java.lang.NoClassDefFoundError. Problem pojawia się po dłuższym czasie działania pluginu. Gdy już się pojawi, to tylko restart naprawia problem. Nie wiem o co chodzi. Dlaczego się tak dzieje?

Błędy (podaję różne z różnych klas):

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Pokaż ukrytą zawartość

[13:37:04] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to SuperHeroWars v1.0
java.lang.NoClassDefFoundError: me/Adixe/SuperHeroWars/Game/Magics/Magic2/SmallFireBallsAnimation$1
    at me.Adixe.SuperHeroWars.Game.Magics.Magic2.SmallFireBallsAnimation.start(SmallFireBallsAnimation.java:20) ~[?:?]
    at me.Adixe.SuperHeroWars.Game.Magics.Magic2.SmallFireBalls.spawn(SmallFireBalls.java:33) ~[?:?]
    at me.Adixe.SuperHeroWars.Game.Magics.Launchers.PlayerClick.magic2(PlayerClick.java:182) ~[?:?]
    at me.Adixe.SuperHeroWars.Game.Magics.Launchers.PlayerClick.PlayerClick(PlayerClick.java:68) ~[?:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor116.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:510) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:473) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:468) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:464) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1604) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:28) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:5) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:43) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1191) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1184) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1160) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1004) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
    at java.lang.Thread.run(Thread.java:834) [?:?]

 

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Pokaż ukrytą zawartość

[13:36:32] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to SuperHeroWars v1.0
java.lang.NoClassDefFoundError: me/Adixe/SuperHeroWars/Game/Magics/Magic3/ArrowAnimation$1
	at me.Adixe.SuperHeroWars.Game.Magics.Magic3.ArrowAnimation.start(ArrowAnimation.java:20) ~[?:?]
	at me.Adixe.SuperHeroWars.Game.Magics.Magic3.Arrows.spawn(Arrows.java:40) ~[?:?]
	at me.Adixe.SuperHeroWars.Game.Magics.Launchers.PlayerClick.magic3(PlayerClick.java:189) ~[?:?]
	at me.Adixe.SuperHeroWars.Game.Magics.Launchers.PlayerClick.PlayerClick(PlayerClick.java:83) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor116.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:510) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:473) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:468) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:464) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1604) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:28) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:5) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:43) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1191) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1184) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1160) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1004) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at java.lang.Thread.run(Thread.java:834) [?:?]

 

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Pokaż ukrytą zawartość

[13:33:31] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to SuperHeroWars v1.0
java.lang.NoClassDefFoundError: me/Adixe/SuperHeroWars/Game/Magics/Cooldown$1
	at me.Adixe.SuperHeroWars.Game.Magics.Cooldown.start(Cooldown.java:18) ~[?:?]
	at me.Adixe.SuperHeroWars.Game.Magics.Launchers.PlayerClick.PlayerClick(PlayerClick.java:130) ~[?:?]
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor116.execute(Unknown Source) ~[?:?]
	at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:510) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:473) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:468) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:464) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1604) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:28) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:5) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:43) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1191) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1184) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1160) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1004) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:174) ~[patched_1.16.5.jar:git-Tuinity-"1d169e7"]
	at java.lang.Thread.run(Thread.java:834) [?:?]

 

 

We wszystkich przypadkach kod opiera się na tym:

new org.bukkit.scheduler.BukkitRunnable() { //Ta linijka zwraca błąd.
            @Override
            public void run() {
                Location location = target.getLocation();
                if (target.isDead()) {
                    Objects.requireNonNull(location.getWorld()).spawnParticle(
                            Particle.valueOf(plugin.getConfig().getString("Game.Magics.Magic2.SmallFireBalls.Hit.Particle.Type")),
                            location, plugin.getConfig().getInt("Game.Magics.Magic2.SmallFireBalls.Hit.Particle.Count"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Hit.Particle.OffSetX"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Hit.Particle.OffSetY"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Hit.Particle.OffSetZ"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Hit.Particle.Speed"));
                    
                    this.cancel();
                } else {
                    Objects.requireNonNull(location.getWorld()).spawnParticle(
                            Particle.valueOf(plugin.getConfig().getString("Game.Magics.Magic2.SmallFireBalls.Particle.Type")),
                            location.add(0, 0.5, 0), plugin.getConfig().getInt("Game.Magics.Magic2.SmallFireBalls.Particle.Count"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Particle.OffSetX"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Particle.OffSetY"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Particle.OffSetZ"),
                            plugin.getConfig().getDouble("Game.Magics.Magic2.SmallFireBalls.Particle.Speed"));
                }
            }
        }.runTaskTimerAsynchronously(plugin, 1L, 1L);

Tak jak mówiłem, problem pojawia się od pewnego momentu, wcześniej wszystko działa poprawnie. Będę wdzięczny za pomoc!

Sprawa jest prosta. Probujesz wykonac w pluginie funkcje w ktorej odnosisz sie do klasy z pluginu SuperHeroWars ale niestety plugin nie moze znalezc tej klasy co oznacza, ze po prostu ten sam plik który dodałeś do libek (plugin SuperHeroWars) musisz wrzucic do folderu "plugins", bo aktualnie go tam nie ma lub jest, ale inna wersja niz ta z libek. 

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
W dniu 25.03.2021 o 11:57, AdixeMC napisał:

1. Tylko dlaczego wszystko działa i nagle się psuje? 2. Teoretycznie wszystko jest dobrze skompilowane.

1. "Psuje się" w momencie, kiedy podejmowane są przez plugin działania mające odnieść się do klasy z pluginu SuperHeroWars (mogą być to automatyczne działania podczas jakiegoś warunku/zachowania, lub wywoływane przez komendę jakąś, którą utworzyłeś i którą sam wywołujesz np. dla testów). 2. Może i jest dobrze skompilowane, ale liczy się tutaj wersja serwera i API bukkita pluginów, zarówno Twój plugin i plugin z którego czerpiesz klasę, czyli SuperHeroWars muszą być na tej samej wersji pisane i na tych samych zasadach (zauważ, że kody pluginów pisanych na o wiele starsze wersje mają inne zasady niż te na najnowsze jak MC 1.16).

Edytowane przez Patryk42341
Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0

Plugin SuperHeroWars jest na wersję 1.16.x i ma z góry określone API version. Dziwi mnie fakt, że w którymś momencie działania serwera się to psuje. Nie ma on wiele ramu, a zwykle przy testach często robię reloady, a nie restarty, żeby zaoszczędzić czasu. Plugin się "psuje" zwykle po parunastu reloadach. Sugerowało by to brak ramu, ale wątpię czy rzucało by to wyjątek NoClassDefFoundError... Da się to naprawić jakoś?

PS. Psuje się BukkitRunnable odpowiadający w tym przypadku za taski.

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
W dniu 22.04.2021 o 13:18, AdixeMC napisał:

Plugin się "psuje" zwykle po parunastu reloadach.

Reloadów nie powinno stosować się na produkcji. Jak sam widzisz - po którymś z kolei następuje w końcu problem z załadowaniem klas. Powinieneś testować swoje zmiany na osobnym serwerze (nawet lokalnym) z możliwością robienia reloadów bez szkód dla graczy, a następnie wrzucać je na produkcję i restartować serwer.

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...