Paper
Paper copied to clipboard
Split Position from Location type hierarchy
This is how the bytecode modification framework from https://github.com/PaperMC/Paper/pull/10060 is used to ~~replace some parameter types with Position and~~ make Location not implement Position anymore. The test plugin is setup to compile against current paper api and show that there are no compat breaks.
So I did a bit more converting methods and as you can see the diff has grown quite a bit. I'm starting to get hesitant to do this for more than methods with Location that we add.
One downside of not doing it all at once is it makes it slightly more annoying to work with the API before its all converted since its 2 different types.
EDIT: decided to scale back this PR to only removing Position from the Location type hierarchy and rewriting the several methods that already take Position as a parameter.