Exterminating a TARDIS with players inside causes an error and the TARDIS is not exterminated fully
Technoguyfication opened this issue ยท 0 comments
Describe the bug
Exterminating a TARDIS with players inside it (and online) causes an error in the server console and the TARDIS is not fully exterminated. The police box dematerializes, but the timelord can /tardis rebuild
it and use it normally still.
The error:
[01:45:48 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'tardis' in plugin TARDIS v4.6.3-b2282
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[patched_1.16.5.jar:git-Paper-752]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[patched_1.16.5.jar:git-Paper-752]
at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:826) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.PlayerConnection.handleCommand(PlayerConnection.java:2185) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:2000) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:1953) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:50) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:8) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:35) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1266) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1259) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1220) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1134) ~[patched_1.16.5.jar:git-Paper-752]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-752]
at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.UnsupportedOperationException: Calling Entity#remove on players produces undefined (bad) behavior
at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.remove(CraftPlayer.java:2262) ~[patched_1.16.5.jar:git-Paper-752]
at me.eccentric_nz.TARDIS.builders.TARDISInteriorPostioning.reclaimChunks(TARDISInteriorPostioning.java:206) ~[?:?]
at me.eccentric_nz.TARDIS.destroyers.TARDISDestroyerInner.destroyInner(TARDISDestroyerInner.java:67) ~[?:?]
at me.eccentric_nz.TARDIS.destroyers.TARDISExterminator.exterminate(TARDISExterminator.java:257) ~[?:?]
at me.eccentric_nz.TARDIS.commands.tardis.TARDISExterminateCommand.doExterminate(TARDISExterminateCommand.java:42) ~[?:?]
at me.eccentric_nz.TARDIS.commands.tardis.TARDISCommands.onCommand(TARDISCommands.java:210) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.5.jar:git-Paper-752]
... 19 more
To Reproduce
Steps to reproduce the behaviour:
- Grow a TARDIS and initialize it
- Have a player enter the TARDIS
- Break the sign on the police box, and do
/tardis exterminate
- "An internal error occurred executing this command" message and the police box dematerializes.
In my testing, the player inside the TARDIS is not teleported out consistently. Sometimes they were teleported out, and sometimes they remained inside.
/tardis version
output
[01:50:08 INFO]: [TARDIS] Server version: git-Paper-752 (MC: 1.16.5)
[01:50:08 INFO]: [TARDIS] TARDIS version: 4.6.3-b2282
[01:50:08 INFO]: [TARDIS] TARDISChunkGenerator version: 4.6.3
[01:50:08 INFO]: [TARDIS] Multiverse-Core version: 4.2.2-b812
[01:50:08 INFO]: [TARDIS] Essentials version: 2.18.2.0
[01:50:08 INFO]: [TARDIS] WorldGuard version: 7.0.4+f7ff984
[01:50:08 INFO]: [TARDIS] CoreProtect version: 19.5
[01:50:08 INFO]: [TARDIS] GriefPrevention version: 16.17.1-2b69191
Note: I didn't have time to test this on a fresh Minecraft server, but I did create a fresh TARDIS to test with and the behavior still occured.