BedWars1058
BedWars1058 copied to clipboard
Error tnt
Every time I change the value of the tnt it gives me an error I use the 1.17 version of the bedwars plugin
ERRORE
[22:31:00 WARN]: java.lang.NoSuchFieldException: source [22:31:00 WARN]: at java.base/java.lang.Class.getDeclaredField(Class.java:2610) [22:31:00 WARN]: at bedwars-plugin-22.2.jar//com.andrei1058.bedwars.support.version.v1_17_R1.v1_17_R1.setSource(v1_17_R1.java:180) [22:31:00 WARN]: at bedwars-plugin-22.2.jar//com.andrei1058.bedwars.listeners.BreakPlace.onBlockPlace(BreakPlace.java:175) [22:31:00 WARN]: at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor26.execute(Unknown Source) [22:31:00 WARN]: at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) [22:31:00 WARN]: at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) [22:31:00 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) [22:31:00 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) [22:31:00 WARN]: at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:392) [22:31:00 WARN]: at net.minecraft.world.item.ItemStack.placeItem(ItemStack.java:373) [22:31:00 WARN]: at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:601) [22:31:00 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1815) [22:31:00 WARN]: at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:33) [22:31:00 WARN]: at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:9) [22:31:00 WARN]: at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:56) [22:31:00 WARN]: at net.minecraft.server.TickTask.run(TickTask.java:18) [22:31:00 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:149) [22:31:00 WARN]: at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(IAsyncTaskHandlerReentrant.java:23) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:1426) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:192) [22:31:00 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:122) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.bf(MinecraftServer.java:1404) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1397) [22:31:00 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:132) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1375) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1286) [22:31:00 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) [22:31:00 WARN]: at java.base/java.lang.Thread.run(Thread.java:833) [22:31:02 WARN]: java.lang.NoSuchFieldException: source [22:31:02 WARN]: at java.base/java.lang.Class.getDeclaredField(Class.java:2610) [22:31:02 WARN]: at bedwars-plugin-22.2.jar//com.andrei1058.bedwars.support.version.v1_17_R1.v1_17_R1.setSource(v1_17_R1.java:180) [22:31:02 WARN]: at bedwars-plugin-22.2.jar//com.andrei1058.bedwars.listeners.BreakPlace.onBlockPlace(BreakPlace.java:175) [22:31:02 WARN]: at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor26.execute(Unknown Source) [22:31:02 WARN]: at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) [22:31:02 WARN]: at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) [22:31:02 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) [22:31:02 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) [22:31:02 WARN]: at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:392) [22:31:02 WARN]: at net.minecraft.world.item.ItemStack.placeItem(ItemStack.java:373) [22:31:02 WARN]: at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:601) [22:31:02 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1815) [22:31:02 WARN]: at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:33) [22:31:02 WARN]: at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:9) [22:31:02 WARN]: at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:56) [22:31:02 WARN]: at net.minecraft.server.TickTask.run(TickTask.java:18) [22:31:02 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:149) [22:31:02 WARN]: at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(IAsyncTaskHandlerReentrant.java:23) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:1426) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:192) [22:31:02 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:122) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.bf(MinecraftServer.java:1404) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1397) [22:31:02 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:132) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1375) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1286) [22:31:02 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) [22:31:02 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
Have you try to stop your server before apply changes ?
After inspecting the NMS code, the field seems to have been renamed owner
instead of what is currently used source
Though the setSource method from the CraftTNTPrimed class could be used instead of using reflection to access the field, which, actually, now that I realise, isn't even needed since the field is public? Maybe that got changed between versions