LibsDisguises icon indicating copy to clipboard operation
LibsDisguises copied to clipboard

1.20.6 update checklist

Open libraryaddict opened this issue 9 months ago • 11 comments

The reason behind this update taking so long is that ProtocolLib hasn't been working as well as it had in the past (Not just for this update), and although it is an option to create PRs and whatnot, I've decided to instead switch to PacketEvents as per #752. You can check that issue to read some discussion that has happened there.

This is a checklist of tasks needing doing before this is complete. This checklist does not promise a timeline of when things will be complete, as some tasks in this may be missing. I would expect perhaps, 15th of June?

The earliest builds are probably going to be ones you have to go out of the way for, I have little intention to roll out this update until I'm sastified with it. It promises to break plugins and if there's a bad enough bug, it'd break servers for no reason. After all, this is a massive switch to PacketEvents, and requires internals rewritten.

https://github.com/retrooper/packetevents

Issues

  • [x] Split the API into a different module so the shaded libraries are not in maven repo
    • [ ] Stop putting the modules into the maven repo
  • [ ] Sounds may not be caught (location wise) properly
  • [ ] Modded client support (custom entities) is probably not working
  • [ ] Paintings turn invisible when moving ~~Painting now wants a direction set when it's spawned in, need to check how it worked in earlier versions and handle appropiately. Either by automatically rotating (respawning), or by making it a rotation in the FlagWatcher. Probs the former~~ Rotating would involve a lot of respawning the painting/frame, not really worth it
  • [ ] Update README.md, SpigotMC and potentially discord to replace ProtocolLib references with PacketEvents (With references for old version of plugin)
  • [ ] Properly support Bukkit Particle parsing and conversion between PacketEvents
  • [ ] Instead of removing outdated translations, shift them into a file in the LibsDisguises folder, something like "removed_translations.txt" with a note for each? Could also log what it was
  • [ ] Implement better async support, may require a larger change of internals
  • [ ] Possibly support folia's threading thing
  • [ ] Depend more on Components instead of simple strings. This is mostly in reference to entity custom name
  • [ ] Add method descriptions, although some of them need to be tested ingame to verify if they have a visible effect or not. And better adventure text support will be needed which could break translation strings
  • [ ] ~~Fix entity look/body rotation being sent incorrectly, spawning in with the wrong direction for example~~ May not be an issue anymore
  • [ ] Add skin changing functionality, not an actual disguise! Or maybe it is? But self disguise shouldn't be a thing
  • [ ] Look into some way to play an animation, such as watchers having "playAttackAnimation" or "playSnifferAnimation" or something. With a parameter to loop said animation? Same for playing a sound, such as creeper hiss
  • [x] Switch over other enums > interfaces that need to be supported. Eg, Cat.Type
  • [ ] Add ability to play a noise the disguise makes, when they disguise? Visible to the self disguise only?
  • [ ] Add ability to change move speed to be equal to the disguise

libraryaddict avatar May 28 '24 09:05 libraryaddict