ViaVersion / ViaRewind-Legacy-Support

Provides additional features for ViaRewind for Paper servers.

Home Page:https://hangar.papermc.io/ViaVersion/ViaRewindLegacySupport

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ViaRewind Legacy Support does not fix lilypad or ladder bounding boxes

kenobium opened this issue · comments

On starting the server, ViaRewind Legacy Support fails with several errors. 1.8 players cannot climb ladders on the server.

Steps to reproduce the behavior:

  1. Start the 1.16.3 server.
  2. Log in to the server in Minecraft 1.8.
  3. Try to climb a ladder - rubberbanding results.

Expected behavior:
1.8 players should be able to climb ladders.

Error info:

[09:27:53 INFO]: [ViaVersion] ViaVersion detected server version: 1.16.3(753)
[09:27:53 WARN]: java.lang.NullPointerException
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setValue(ReflectionAPI.java:259)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setValue(ReflectionAPI.java:263)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setValuePrintException(ReflectionAPI.java:306)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setFieldNotFinal(ReflectionAPI.java:44)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setFinalValue(ReflectionAPI.java:295)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.setBoundingBox(BoundingBoxFixer.java:66)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.fixLilyPad(BoundingBoxFixer.java:17)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.BukkitPlugin$1.run(BukkitPlugin.java:37)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:948)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177)
[09:27:53 WARN]:        at java.base/java.lang.Thread.run(Thread.java:832)
[09:27:53 INFO]: Could not fix lily pad bounding box.
[09:27:53 WARN]: java.lang.IllegalAccessException: Can not set static final net.minecraft.server.v1_16_R2.VoxelShape field net.minecraft.server.v1_16_R2.BlockWaterLily.a to net.minecraft.server.v1_16_R2.VoxelShapeArray
[09:27:53 WARN]:        at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:76)
[09:27:53 WARN]:        at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:80)
[09:27:53 WARN]:        at java.base/jdk.internal.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl.set(UnsafeQualifiedStaticObjectFieldAccessorImpl.java:77)
[09:27:53 WARN]:        at java.base/java.lang.reflect.Field.set(Field.java:778)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setFinalValue(ReflectionAPI.java:296)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.setBoundingBox(BoundingBoxFixer.java:66)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.fixLilyPad(BoundingBoxFixer.java:17)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.BukkitPlugin$1.run(BukkitPlugin.java:37)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:948)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177)
[09:27:53 WARN]:        at java.base/java.lang.Thread.run(Thread.java:832)
[09:27:53 WARN]: java.lang.NullPointerException
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setValue(ReflectionAPI.java:259)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setValue(ReflectionAPI.java:263)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setValuePrintException(ReflectionAPI.java:306)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setFieldNotFinal(ReflectionAPI.java:44)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setFinalValue(ReflectionAPI.java:295)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.setBoundingBox(BoundingBoxFixer.java:66)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.fixLadder(BoundingBoxFixer.java:47)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.BukkitPlugin$1.run(BukkitPlugin.java:39)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:948)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177)
[09:27:53 WARN]:        at java.base/java.lang.Thread.run(Thread.java:832)
[09:27:53 INFO]: Could not fix ladder bounding box.
[09:27:53 WARN]: java.lang.IllegalAccessException: Can not set static final net.minecraft.server.v1_16_R2.VoxelShape field net.minecraft.server.v1_16_R2.BlockLadder.c to net.minecraft.server.v1_16_R2.VoxelShapeCube
[09:27:53 WARN]:        at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:76)
[09:27:53 WARN]:        at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:80)
[09:27:53 WARN]:        at java.base/jdk.internal.reflect.UnsafeQualifiedStaticObjectFieldAccessorImpl.set(UnsafeQualifiedStaticObjectFieldAccessorImpl.java:77)
[09:27:53 WARN]:        at java.base/java.lang.reflect.Field.set(Field.java:778)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.reflection.ReflectionAPI.setFinalValue(ReflectionAPI.java:296)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.setBoundingBox(BoundingBoxFixer.java:66)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.injector.BoundingBoxFixer.fixLadder(BoundingBoxFixer.java:47)
[09:27:53 WARN]:        at de.gerrygames.viarewind.legacysupport.BukkitPlugin$1.run(BukkitPlugin.java:39)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99)
[09:27:53 WARN]:        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:948)
[09:27:53 WARN]:        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177)
[09:27:53 WARN]:        at java.base/java.lang.Thread.run(Thread.java:832)
[09:27:53 INFO]: [Citizens] Loaded 0 NPCs.
[09:27:53 INFO]: [ViaVersion] Shutting down mapping loader executor!
[09:27:53 INFO]: Done (7.932s)! For help, type "help"
[09:27:53 INFO]: Timings Reset
[09:27:53 INFO]: [Vault] Checking for Updates ...
[09:27:53 INFO]: [Vault] No new version available
[09:27:53 WARN]: [ViaVersion] You are running a development version, please report any bugs to GitHub.

Dump:
https://dump.viaversion.com/c911b4a5971a6a7fd246d6631ba84c8ca5744e4d847d8b898a64c9515111ee70

I do not use Bungee.

Edit:
Issue seems to affect only the 1.16.3 version of Paper - appears to load correctly in 1.16.2.

Any update on this? Ladders, lilypads, etc. seem to work fine on ProtocolSupport.

commented

Fixed

commented

Still occurs on 1.171. purpur server: https://mcpaste.io/92f652c6ea6875ea

commented

Yeah forgot to mention I had all of those up to date. If you need my startup log I can send it through.

The full startup log would help me to find the issue, yup.

I have "only" tested on paper, spigot and Tuinity, so maybe purpur does something on its own

EDIT: The error you sent should be enough. I'm gonna try to reproduce that locally and fix the issue. I guess, i see where the problem is.

@LoXR The issue should(TM) be fixed now

commented

Awesome, thanks for that.