WorldEdit 7.2.15 breaks support for MC 1.13-1.15
lenis0012 opened this issue · 7 comments
WorldEdit Version
7.2.15
Platform Version
git-Paper-657
Confirmations
- I am using the most recent Minecraft release.
- I am using a version of WorldEdit compatible with my Minecraft version.
- I am using the latest or recommended version of my platform software.
- I am NOT using a hybrid server, e.g. a server that combines Bukkit and Forge. Examples include Arclight, Mohist, and Cardboard.
- I am NOT using a fork of WorldEdit, such as FastAsyncWorldEdit (FAWE) or AsyncWorldEdit (AWE)
Bug Description
Yes I am aware that old MC versions are not supported but dev.bukkit.org mentions that 1.13.2 - 1.20 are supported so I believe this is still a bug that warrants solving.
In commit 91c9786 the version of SnakeYAML was updated to match spigot 1.20.
This is a breaking change however so this breaks compatability with all older versions:
java.lang.NoSuchMethodError: org.yaml.snakeyaml.representer.Representer.<init>(Lorg/yaml/snakeyaml/DumperOptions;)V
Expected Behavior
WorldEdit starts successfully on supported versions
Reproduction Steps
- Install on 1.13.2 - 1.19.x
- Start
Anything Else?
Suggested solution: try & catch errors when creating Yaml instance, falling back to the old method. Also remove FancyRepresenter
and set the nullRepresenter
field using reflection.
OR: Update documentation (including file names on dev.bukkit.org) to reflect only supporting MC 1.20+
Are you sure about this? It was explicitly tested to still work on 1.19. It's possible some of the very old versions prior the last SnakeYAML bump in Spigot broken (1.14 I think?), but 1.19 has been tested with that release
It is possible that it broke somewhere in between 1.13.2 and 1.19. I can test a few other versions.
I've just tested from 1.16+, as I have versions of Java that support those versions on my machine. All work. Can't test earlier, but I assume it'd work down to 1.14 given that's when the last SnakeYAML update was I believe.
Versions prior to 3D biomes are barely supported and aren't really considered to have support - generally WorldEdit just loads on them and it's better to use an earlier version of the plugin for those versions
I can confirm that it is broken on 1.15 but it works on 1.16. Perhaps drop support for 1.13-1.15.2 officially or fix it using reflection.
If possible I think you should update the dev.bukkit file name.
WorldEdit 7.3+ already drops everything before 1.17, so realistically they'll be dropped. They already lack most newer changes anyway
Sounds reasonable. But if people download the last version that works for their mc version (like i did) it won't work. Because of a minor version bump. That can be a bit confusing.