pop4959 / ChunkyBorder

An add-on for Chunky which lets you create and manage world borders.
GNU General Public License v3.0
46 stars 11 forks source link

Issues with both vanilla and custom vehicles when colliding with Chunky border #75

Open shradinx opened 1 month ago

shradinx commented 1 month ago

On older releases of Chunky (1.3.92) and ChunkyBorder (1.1.50) on Minecraft Paper 1.20.2 and Java 17, custom armor stand vehicles would move through the border and continue past it, but players would be teleported back behind the border unable to retrieve their vehicle that had gone past.

On the latest release of Chunky (1.4.10) and ChunkyBorder (1.2.13) from SpigotMC on Minecraft Paper 1.20.2 with Java 21, both vanilla and custom vehicles using armor stands would pass through the border and neither the player riding the entity nor the entity itself would be teleported. It would still, however, play the teleport sound. ChunkyBorder also throws a NoSuchMethodError in console when passing through the border. This is most likely why neither players nor the vehicles get teleported back. I have linked the console error below.

On the latest dev release of Chunky (1.4.17) and ChunkyBorder (1.2.18) from CodeMC and updating to Minecraft Paper 1.20.6 with Java 21, vanilla entities would be properly teleported back behind the border with the player still riding the entity. This, I believe, is the proper functionality. However with custom armor stand vehicles, neither the player nor the armor stand vehicle get teleported and the teleport sound would still play.

[17:13:43 WARN]: [ChunkyBorder] Task #3622 for ChunkyBorder v1.2.18 generated an exception
java.lang.NoSuchMethodError: 'java.util.concurrent.CompletableFuture org.bukkit.entity.Entity.teleportAsync(org.bukkit.Location, org.bukkit.event.player.PlayerTeleportEvent$TeleportCause, io.papermc.paper.entity.TeleportFlag[])'
        at org.popcraft.chunky.platform.Paper.teleportAsyncWithPassengers(Paper.java:31) ~[Chunky-1.4.17.jar:?]
        at org.popcraft.chunky.platform.BukkitPlayer.teleport(BukkitPlayer.java:73) ~[Chunky-1.4.17.jar:?]
        at org.popcraft.chunkyborder.BorderCheckTask.lambda$run$0(BorderCheckTask.java:47) ~[ChunkyBorder-1.2.18.jar:?]
        at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
        at org.popcraft.chunkyborder.BorderCheckTask.run(BorderCheckTask.java:29) ~[ChunkyBorder-1.2.18.jar:?]
        at org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.2.jar:git-Paper-307]
        at org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480) ~[paper-1.20.2.jar:git-Paper-307]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1470) ~[paper-1.20.2.jar:git-Paper-307]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:446) ~[paper-1.20.2.jar:git-Paper-307]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1379) ~[paper-1.20.2.jar:git-Paper-307]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1156) ~[paper-1.20.2.jar:git-Paper-307]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315) ~[paper-1.20.2.jar:git-Paper-307]
        at java.lang.Thread.run(Thread.java:1583) ~[?:?]

Image of behavior when on latest SpigotMC releases on Paper 1.20.2 image_2024-07-01_173855700

pop4959 commented 1 month ago

Moved this issue over to the correct repository, as this is related to ChunkyBorder.