Files
ParchmentMC/patches/api/0001-Add-Getter-interfaces.patch
Lexi b03678a0a0 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@cb05aa6 Prepare for 1.19 dev
PaperMC/Paper@56e6424 Patch cleanup
PaperMC/Paper@028e2d9 API patches
PaperMC/Paper@a9c5073 First server patches
PaperMC/Paper@2710efc More patches
PaperMC/Paper@1669c6b More more patches
PaperMC/Paper@cac4deb More more more patches
PaperMC/Paper@88f74d1 Fix some api compilation errors
PaperMC/Paper@13fe886 API now compiles successfully
PaperMC/Paper@c321ca5 fix unmerged diff
PaperMC/Paper@aac58bb More more more more patches
PaperMC/Paper@3773770 Fix more errors
PaperMC/Paper@7d7779a Fix even more errors
PaperMC/Paper@addf9c9 More more more more more patches
PaperMC/Paper@4e13355 some server compile fixes
PaperMC/Paper@58133bd Update PreCreatureSpawnEvent patch
PaperMC/Paper@3a0b948 temporary fixes for adventure chat
PaperMC/Paper@87ca0fa hate jmp and his gradle
PaperMC/Paper@32c195b i love jmp
PaperMC/Paper@c515eb9 rebuild after rebase
PaperMC/Paper@a16970a Fix CanPlaceOn/CanDestroy API issues
PaperMC/Paper@68b585f Fix cook speed patch
PaperMC/Paper@a27b508 i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really love jmp
PaperMC/Paper@26ea040 i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really love jmp
PaperMC/Paper@515da2f update reobf-mappings-patch.tiny
PaperMC/Paper@d41a026 few more server decompile fixes
PaperMC/Paper@7bbeef2  i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really reall…
PaperMC/Paper@c5db537 Fix more issues
PaperMC/Paper@f371b4e <3 jmp
PaperMC/Paper@f04e64d moar patches
PaperMC/Paper@c3fc3de even moar patches
PaperMC/Paper@dc12a6e a bunch more patches done
PaperMC/Paper@0745f97 bunch o' patches
PaperMC/Paper@2304bb3 bundle o' patches
PaperMC/Paper@feca8d2 bouquet o' patches
PaperMC/Paper@89c3c31 bag o' patches
PaperMC/Paper@a1d0432 batch o' patches
PaperMC/Paper@aabbfcd Updated Upstream (Bukkit/CraftBukkit/Spigot)
PaperMC/Paper@cc7979a bale o' patches
PaperMC/Paper@b464e02 Misc. 1.19 fixes (#7881)
PaperMC/Paper@0e06c77 More more more more more more patches
PaperMC/Paper@f0e575f More more more more more more more patches
PaperMC/Paper@82f712c More more more more more more more more patches
PaperMC/Paper@8d5407b Things, and DataConverter (maybe)
PaperMC/Paper@d28b209 Things, and Starlight (maybe)
PaperMC/Paper@2f0b2b9 Add missing DataConverter and fix some imports
PaperMC/Paper@391e65f more misc compile fixes
PaperMC/Paper@301cf57 More more more more more more more more more patches
PaperMC/Paper@2259098 Misc fixes (#7883)
PaperMC/Paper@beab8a3 More more more more more more more more more more patches
PaperMC/Paper@55d7f56 More more more more more more more more more more more patches
PaperMC/Paper@b1f5e70 Moar 1.19 fixes (#7884)
PaperMC/Paper@7ece945 Use biome source method to prevent loading chunks  (#7885)
PaperMC/Paper@b561fd8 Compilation error fixes
PaperMC/Paper@1d5b298 More compilation error fixes
PaperMC/Paper@af4b5ee add back removed kelp modifier patch
PaperMC/Paper@d5216d8 Add back Fix NotePlayEvent patch
PaperMC/Paper@9ab6893 Add back Fix locateNearestStructure patch
PaperMC/Paper@913d2ae Fix
PaperMC/Paper@a6bc17b IT COMPILES BOIS
PaperMC/Paper@7a165c9 Add back fix swamp hut deadlock patch
PaperMC/Paper@02804a4 Fix tests
PaperMC/Paper@8399e10 fix reobf issues around randomsource impls
PaperMC/Paper@a02874e Remove painting desync (#7886)
PaperMC/Paper@57dfcdf Reorder some patches
PaperMC/Paper@b3b63d3 Fix tests (again?)
PaperMC/Paper@222391f Check if is light status or above / isLightOn / starlight version fits (#7888)
PaperMC/Paper@bd134f8 Update Alternate Current patch (#7890)
PaperMC/Paper@4c1b338 Remove level propagator patch for now
PaperMC/Paper@44ccc15 Port Fix missing chunks due to integer overflow to 1.19 (#7891)
PaperMC/Paper@d1e1217 Only send empty chunk when player is dead
PaperMC/Paper@897cc27 Remove no longer needed patch
PaperMC/Paper@e24a250 correct patch description
PaperMC/Paper@a93aa05 Wrap NBTOps in RegistryOps (#7892)
PaperMC/Paper@29e9189 Fix structures issues/api (#7895)
PaperMC/Paper@86c1650 Dont resent entity on art update (#7887)
PaperMC/Paper@11c2705 Slightly untrash Spigot chat handling
PaperMC/Paper@cbb47ca Add missing spawn eggs (#7896)
PaperMC/Paper@9107753 (1.19) Make timings link clickable (#7897)
PaperMC/Paper@467a166 fallback to default locate logic if no API found
PaperMC/Paper@da80273 Deprecate origin for vibrations (#7898)
PaperMC/Paper@172d260 Move to configurate for paper.yml (#7609)
PaperMC/Paper@d7cc306 Update Optimise general POI access (#7903)
PaperMC/Paper@ffddec5 Updated Upstream (CraftBukkit)
PaperMC/Paper@7be0194 Readd dummy PaperConfig and PaperWorldConfig classes
PaperMC/Paper@b26d590 Fixes
PaperMC/Paper@e1c2939 Update configurable feature seed patch
PaperMC/Paper@d385af0 Updated Upstream (Bukkit/CraftBukkit)
PaperMC/Paper@a3a0390 Fix config migration error preventing server startup
PaperMC/Paper@84434e6 Don't validate chunk before it's been run through DataConverter (#7907)
PaperMC/Paper@e47848f Correctly handle ElderGuardianAppearanceEvent canceling  (#7902)
PaperMC/Paper@2e68ecc more configuration fixes/changes
PaperMC/Paper@d9fcf39 Remove locname (#7909)
PaperMC/Paper@f27aa33 catch IAE from empty transformation builder
PaperMC/Paper@acd50c5 Keyed cat Type (#7901)
PaperMC/Paper@c34a306 Remove old config options (#7908)
PaperMC/Paper@c946526 minimessage conversion
PaperMC/Paper@5052a45 Minor patch changes
PaperMC/Paper@09c9215 Add sendRichMessage and sendPlainMessage methods
PaperMC/Paper@ad51c40 Fix don't lookup profiles for blank names patch
PaperMC/Paper@3f1c6a4 move commands out of configuration
PaperMC/Paper@e5ed99a fix compile issue
PaperMC/Paper@77de07a fix more config migration issues
PaperMC/Paper@6249dd5 remove more unused config options
PaperMC/Paper@181a847 Make slime spawn checks use tag again and rename config option (#7910)
PaperMC/Paper@0a21166 Update player chunk loader patch, re-add ticket level propagator patch
PaperMC/Paper@ade44f3 Remove todo
PaperMC/Paper@7c55e62 Fix tests
PaperMC/Paper@d833c0c Update starlight + read null light data (#7912)
PaperMC/Paper@5ac29fc Fix migration of packet limiter
PaperMC/Paper@4a51a54 Don't use deprecated permission message method
PaperMC/Paper@83e2a35 Fix light (#7917)
PaperMC/Paper@cfe3ad1 Updated Upstream (Bukkit/CraftBukkit/Spigot)
PaperMC/Paper@02b5ec4 fix 2 more migration issues
PaperMC/Paper@dd6a8e9 couple more migration issues
PaperMC/Paper@8141349 improve packet config serializer (#7920)
PaperMC/Paper@9a75a79 Readd PlayerAnimationEvent constructor removed by upstream
PaperMC/Paper@0754819 Updated Upstream (CraftBukkit)
PaperMC/Paper@9b6fb2f Remove bad warning
PaperMC/Paper@cf384f5 Don't print stacktrace when client with invalid signature logs in
PaperMC/Paper@a8a01bb port  Significantly improve performance of the end generation (#7919)
PaperMC/Paper@8bca919 Remove unneeded patch
PaperMC/Paper@698b315 Improve migration file errors (#7929)
PaperMC/Paper@99aa5f2 Fixes parsing tags in selectors in command functions
PaperMC/Paper@76f81ae Keep default keys in some maps
PaperMC/Paper@5a2973f Correct dataconverter diff
PaperMC/Paper@ee7d161 Make starlight light read non-fatal if it throws
PaperMC/Paper@f8beab5 correct argument check in PlayerHandshakeEvent#setFailMessage(String) (#7940)
PaperMC/Paper@c80df84 Readd remove vec allocations diff (#7930)
PaperMC/Paper@1ccff4f Readd mc-4 fix
PaperMC/Paper@d7165b0 Fix some references to obfuscated code
PaperMC/Paper@55201f0 Updated Upstream (Bukkit/CraftBukkit) (#7936)
PaperMC/Paper@46954ee Don't explode on light data in the nether
PaperMC/Paper@dfc1044 Fix keep spawn loaded patch
PaperMC/Paper@9ad94dc Adjust config headers
PaperMC/Paper@c044b14 Add support for Velocity forwarding v2
PaperMC/Paper@6c52b5e Ensure that Log4J is shutdown when stopping the server (Fixes #7932)
PaperMC/Paper@ee4916d Fire kick event for out-of-order chat on main thread (#7942)
PaperMC/Paper@8b6f4dd Add paper-settings-directory cl argument (#7949)
PaperMC/Paper@4797e3a Dont reassign the hiddenConfigs field in TimingsManager (#7951)
PaperMC/Paper@3690440 Update paperweight to 1.3.7
PaperMC/Paper@90050ff Update Adventure to 4.11.0 and implement ComponentLogger (#7937)
PaperMC/Paper@e4f5e1c Bump netty
2022-06-13 02:21:46 -04:00

1189 lines
57 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: lexikiq <noellekiq@gmail.com>
Date: Sun, 20 Jun 2021 20:24:14 -0400
Subject: [PATCH] Add Getter interfaces
Creates new interfaces for objects that have a reference to a player, offlineplayer, location, etc.
Also creates interfaces for objects that are like players in that they use all other interfaces and can receive Adventure messages.
diff --git a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
index 978813b94a5eae0afccbd3b38b463091a46b56ac..617a4b17982e3dac47480cb16046233232f288b7 100644
--- a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Called when a beacon effect is being applied to a player.
*/
-public class BeaconEffectEvent extends BlockEvent implements Cancellable {
+public class BeaconEffectEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled;
private PotionEffect effect;
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
index f530a3d9314e17d1da896cac633f6a422258d9a9..08897d13a8af33ed1cd40c46b0f168e0c4ebfd4a 100644
--- a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
@@ -38,7 +38,7 @@ import org.jetbrains.annotations.NotNull;
* at the Enderman, according to Vanilla rules.
*
*/
-public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable {
+public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
@NotNull private final Player player;
public EndermanAttackPlayerEvent(@NotNull Enderman entity, @NotNull Player player) {
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
index a315c5185cd465dcf63c0ababef195da76dfc786..a65eae92b9f369f0864d872817d9ce96679256bc 100644
--- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Fired when a Turtle lays eggs
*/
-public class TurtleLayEggEvent extends EntityEvent implements Cancellable {
+public class TurtleLayEggEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false;
@NotNull
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
index abeb24fccda2acfdb0dfdadacb8fe688bd97cf78..890069604ca78a9a3f3b4c5f40969a451a1b2067 100644
--- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Fired when a Turtle starts digging to lay eggs
*/
-public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable {
+public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false;
@NotNull private final Location location;
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
index 59ae7bc3a0a2079fe4b3a92d777aca682a58e4e3..6aac09818b847ca6b25514a109f9b0e902840167 100644
--- a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
@@ -20,7 +20,7 @@ import java.util.UUID;
*
* <p>WARNING: TAMPERING WITH THIS EVENT CAN BE DANGEROUS</p>
*/
-public class PlayerHandshakeEvent extends Event implements Cancellable {
+public class PlayerHandshakeEvent extends Event implements Cancellable, gg.projecteden.interfaces.OptionalUniqueId { // Parchment
private static final HandlerList HANDLERS = new HandlerList();
@NotNull private final String originalHandshake;
diff --git a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
index 4dcf6242c9acc62d030a94f67b78729ed29f8c85..d09aecb0b45f2ccf9badd308ef3e472ba36893a1 100644
--- a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
* No guarantees are made about thread execution context for this event. If you need to know, check
* event.isAsync()
*/
-public class PreLookupProfileEvent extends Event {
+public class PreLookupProfileEvent extends Event implements gg.projecteden.interfaces.OptionalUniqueId { // Parchment
private static final HandlerList handlers = new HandlerList();
@NotNull private final String name;
@@ -49,11 +49,27 @@ public class PreLookupProfileEvent extends Event {
* {@link LookupProfileEvent}
*
* @return The UUID of the profile if it has already been provided by a plugin
+ * @deprecated alias of {@link #getUniqueId()} <!-- Parchment: fix inconsistent naming -->
*/
@Nullable
- public UUID getUUID() {
+ // Parchment start
+ @Deprecated
+ public final UUID getUUID() {
+ return getUniqueId();
+ }
+
+ /**
+ * If this value is left null by the completion of the event call, then the server will
+ * trigger a call to the Mojang API to look up the UUID (Network Request), and subsequently, fire a
+ * {@link LookupProfileEvent}
+ *
+ * @return The UUID of the profile if it has already been provided by a plugin
+ */
+ @Override
+ public @Nullable UUID getUniqueId() {
return uuid;
}
+ // Parchment end
/**
* Sets the UUID for this player name. This will skip the initial API call to find the players UUID.
diff --git a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
index 9be64a95c2345433b6142d611077dedadcef9f5d..e3cea810881868fb5869de72f331733e6893fcee 100644
--- a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
@@ -47,7 +47,7 @@ import org.jetbrains.annotations.Nullable;
*
* Only 1 process will be allowed to provide completions, the Async Event, or the standard process.
*/
-public class AsyncTabCompleteEvent extends Event implements Cancellable {
+public class AsyncTabCompleteEvent extends Event implements Cancellable, gg.projecteden.parchment.OptionalLocation { // Parchment
@NotNull private final CommandSender sender;
@NotNull private final String buffer;
private final boolean isCommand;
diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
index 89e132525cfae0ce979e37b3e2793df781e47227..f14635ae3112862c1337398bf5f5f56a7f87d90f 100644
--- a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
+++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
@@ -8,7 +8,7 @@ import static com.google.common.base.Preconditions.*;
/**
* Thrown when an incoming plugin message channel throws an exception
*/
-public class ServerPluginMessageException extends ServerPluginException {
+public class ServerPluginMessageException extends ServerPluginException implements gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player;
private final String channel;
diff --git a/src/main/java/gg/projecteden/parchment/HasHumanEntity.java b/src/main/java/gg/projecteden/parchment/HasHumanEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..ee1bc817a60b602f7d437a21852c3dc285d854df
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/HasHumanEntity.java
@@ -0,0 +1,19 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.entity.HumanEntity;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Represents an object that has a {@link HumanEntity}
+ * @see gg.projecteden.parchment.OptionalHumanEntity
+ */
+@FunctionalInterface
+public interface HasHumanEntity extends OptionalHumanEntity {
+ /**
+ * Gets a {@link HumanEntity} object that this represents
+ *
+ * @return human entity
+ */
+ @Override
+ @NotNull HumanEntity getPlayer();
+}
diff --git a/src/main/java/gg/projecteden/parchment/HasLocation.java b/src/main/java/gg/projecteden/parchment/HasLocation.java
new file mode 100644
index 0000000000000000000000000000000000000000..e9f7bb3058639c94ee8e67627e5e34548d391df6
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/HasLocation.java
@@ -0,0 +1,18 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.Location;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Represents an object that has a {@link Location}
+ * @see OptionalLocation
+ */
+public interface HasLocation extends OptionalLocation {
+ /**
+ * Gets a {@link Location} attached to this object
+ *
+ * @return attached location
+ */
+ @Override
+ @NotNull Location getLocation();
+}
diff --git a/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java b/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java
new file mode 100644
index 0000000000000000000000000000000000000000..15b72b693a32852f791c5578f701843c759737a7
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java
@@ -0,0 +1,17 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.OfflinePlayer;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Represents an object that has a {@link OfflinePlayer}
+ */
+@FunctionalInterface
+public interface HasOfflinePlayer {
+ /**
+ * Gets an {@link OfflinePlayer} object that this represents
+ *
+ * @return offline player
+ */
+ @NotNull OfflinePlayer getOfflinePlayer();
+}
diff --git a/src/main/java/gg/projecteden/parchment/HasPlayer.java b/src/main/java/gg/projecteden/parchment/HasPlayer.java
new file mode 100644
index 0000000000000000000000000000000000000000..68a2e2093405eb39d91b5b79f16a521a6a729d4e
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/HasPlayer.java
@@ -0,0 +1,19 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Represents an object that has a {@link Player}
+ * @see gg.projecteden.parchment.OptionalPlayer
+ */
+@FunctionalInterface
+public interface HasPlayer extends OptionalPlayer, HasHumanEntity {
+ /**
+ * Gets a {@link Player} object that this represents
+ *
+ * @return player
+ */
+ @Override
+ @NotNull Player getPlayer();
+}
diff --git a/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java b/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..45410a77714ad28201520c188e280e4f5fa8bcab
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java
@@ -0,0 +1,18 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.entity.HumanEntity;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Represents an object that may have a {@link HumanEntity}
+ * @see HasHumanEntity
+ */
+@FunctionalInterface
+public interface OptionalHumanEntity {
+ /**
+ * Gets a {@link HumanEntity} object that this represents, if there is one
+ *
+ * @return human entity or null
+ */
+ @Nullable HumanEntity getPlayer();
+}
diff --git a/src/main/java/gg/projecteden/parchment/OptionalLocation.java b/src/main/java/gg/projecteden/parchment/OptionalLocation.java
new file mode 100644
index 0000000000000000000000000000000000000000..23897904c6e2d6195f3613c36d77454587afd8bc
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/OptionalLocation.java
@@ -0,0 +1,18 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.Location;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Represents an object that may have a {@link Location}
+ * @see HasLocation
+ */
+@FunctionalInterface
+public interface OptionalLocation {
+ /**
+ * Gets a {@link Location} attached to this object if present
+ *
+ * @return attached location
+ */
+ @Nullable Location getLocation();
+}
diff --git a/src/main/java/gg/projecteden/parchment/OptionalPlayer.java b/src/main/java/gg/projecteden/parchment/OptionalPlayer.java
new file mode 100644
index 0000000000000000000000000000000000000000..31b9ab6512c9f06160c268e88d5bce486ed87523
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/OptionalPlayer.java
@@ -0,0 +1,19 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Represents an object that may have a {@link Player}
+ * @see HasPlayer
+ */
+@FunctionalInterface
+public interface OptionalPlayer extends OptionalHumanEntity {
+ /**
+ * Gets a {@link Player} object that this represents, if there is one. This may be null if the
+ * player is online or the player object being optional.
+ *
+ * @return player or null
+ */
+ @Nullable Player getPlayer();
+}
diff --git a/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java b/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java
new file mode 100644
index 0000000000000000000000000000000000000000..5283df238c09c3fa2dda1ac41db1ea93580517a2
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java
@@ -0,0 +1,189 @@
+package gg.projecteden.parchment;
+
+import net.kyori.adventure.audience.Audience;
+import net.kyori.adventure.audience.MessageType;
+import net.kyori.adventure.bossbar.BossBar;
+import net.kyori.adventure.identity.Identified;
+import net.kyori.adventure.identity.Identity;
+import net.kyori.adventure.inventory.Book;
+import net.kyori.adventure.sound.Sound;
+import net.kyori.adventure.sound.SoundStop;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.title.Title;
+import org.apache.commons.lang3.Validate;
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.function.Consumer;
+
+/**
+ * Class that may be like a {@link org.bukkit.entity.Player} in that it has a {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, {@link Identity}, and a nullable Player.
+ * @see gg.projecteden.parchment.PlayerLike
+ */
+public interface OptionalPlayerLike extends OptionalPlayer, gg.projecteden.interfaces.HasUniqueId, HasOfflinePlayer, OptionalLocation, Identified, Audience {
+ /**
+ * Gets the identity associated with this object
+ *
+ * @return associated identity
+ */
+ @Override
+ default @NotNull Identity identity() {
+ return Identity.identity(getUniqueId());
+ }
+
+ /**
+ * Returns if the {@link Player} associated with this object is online.
+ *
+ * @return if the player is online
+ */
+ default boolean isOnline() {
+ return getPlayer() != null;
+ }
+
+ /**
+ * Run a consumer with the {@link Player} associated with this object if the player is online.
+ * <p>
+ * Allows easily running a code on the player only if they are connected.
+ *
+ * @param consumer function that accepts a Player
+ */
+ default void consumeIfOnline(final @NotNull Consumer<@NotNull Player> consumer) {
+ Validate.notNull(consumer, "Consumer<Player> should not be null");
+
+ final Player player = getPlayer();
+ if (player != null)
+ consumer.accept(player);
+ }
+
+ /**
+ * Sends a chat message.
+ *
+ * @param source the identity of the source of the message
+ * @param message a message
+ * @param type the type
+ */
+ @Override
+ default void sendMessage(final @NotNull Identity source, final @NotNull Component message, final @NotNull MessageType type) {
+ consumeIfOnline(player -> player.sendMessage(source, message, type));
+ }
+
+ /**
+ * Sends a message on the action bar.
+ *
+ * @param message a message
+ */
+ @Override
+ default void sendActionBar(final @NotNull Component message) {
+ consumeIfOnline(player -> player.sendActionBar(message));
+ }
+
+ /**
+ * Sends the player list header and footer.
+ *
+ * @param header the header
+ * @param footer the footer
+ */
+ @Override
+ default void sendPlayerListHeaderAndFooter(final @NotNull Component header, final @NotNull Component footer) {
+ consumeIfOnline(player -> player.sendPlayerListHeaderAndFooter(header, footer));
+ }
+
+ /**
+ * Shows a title.
+ *
+ * @param title a title
+ */
+ @Override
+ default void showTitle(final @NotNull Title title) {
+ consumeIfOnline(player -> player.showTitle(title));
+ }
+
+ /**
+ * Clears the title, if one is being displayed.
+ */
+ @Override
+ default void clearTitle() {
+ consumeIfOnline(Audience::clearTitle);
+ }
+
+ /**
+ * Resets the title and timings back to their default.
+ */
+ @Override
+ default void resetTitle() {
+ consumeIfOnline(Audience::resetTitle);
+ }
+
+ /**
+ * Shows a boss bar.
+ *
+ * @param bar a boss bar
+ */
+ @Override
+ default void showBossBar(final @NotNull BossBar bar) {
+ consumeIfOnline(player -> player.showBossBar(bar));
+ }
+
+ /**
+ * Hides a boss bar.
+ *
+ * @param bar a boss bar
+ */
+ @Override
+ default void hideBossBar(final @NotNull BossBar bar) {
+ consumeIfOnline(player -> player.hideBossBar(bar));
+ }
+
+ /**
+ * Plays a sound.
+ *
+ * @param sound a sound
+ */
+ @Override
+ default void playSound(final @NotNull Sound sound) {
+ consumeIfOnline(player -> player.playSound(sound));
+ }
+
+ /**
+ * Plays a sound at a location.
+ *
+ * @param sound a sound
+ * @param x x coordinate
+ * @param y y coordinate
+ * @param z z coordinate
+ */
+ @Override
+ default void playSound(final @NotNull Sound sound, final double x, final double y, final double z) {
+ consumeIfOnline(player -> player.playSound(sound, x, y, z));
+ }
+
+ /**
+ * Stops a sound, or many sounds.
+ *
+ * @param stop a sound stop
+ */
+ @Override
+ default void stopSound(final @NotNull SoundStop stop) {
+ consumeIfOnline(player -> player.stopSound(stop));
+ }
+
+ /**
+ * Opens a book.
+ *
+ * <p>When possible, no item should persist after closing the book.</p>
+ *
+ * @param book a book
+ */
+ @Override
+ default void openBook(final @NotNull Book book) {
+ consumeIfOnline(player -> player.openBook(book));
+ }
+
+ @Override
+ default @Nullable Location getLocation() {
+ final Player player = getPlayer();
+ return player == null ? null : player.getLocation();
+ }
+}
diff --git a/src/main/java/gg/projecteden/parchment/PlayerLike.java b/src/main/java/gg/projecteden/parchment/PlayerLike.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd5840ab1fe9375e83a3a30563ae59620171d3d3
--- /dev/null
+++ b/src/main/java/gg/projecteden/parchment/PlayerLike.java
@@ -0,0 +1,28 @@
+package gg.projecteden.parchment;
+
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+
+import java.util.function.Consumer;
+
+/**
+ * Class that is like a {@link org.bukkit.entity.Player} in that it has a Player, {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, and an {@link net.kyori.adventure.identity.Identity}.
+ * @see gg.projecteden.parchment.OptionalPlayerLike
+ */
+public interface PlayerLike extends HasPlayer, HasLocation, OptionalPlayerLike {
+ @Override
+ default void consumeIfOnline(final @NotNull Consumer<@NotNull Player> consumer) {
+ consumer.accept(getPlayer());
+ }
+
+ @Override
+ default boolean isOnline() {
+ return true;
+ }
+
+ @Override
+ default @NotNull Location getLocation() {
+ return getPlayer().getLocation();
+ }
+}
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
index 2c1cda1126e577a88f19071e958eddb5a38785af..39e746f0c8536642346abbb6909fd2053031d695 100644
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
* Should only be used for packet/clientside related stuff.
* Not intended for modifying server side state.
*/
-public class PlayerChunkLoadEvent extends ChunkEvent {
+public class PlayerChunkLoadEvent extends ChunkEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
index 12163a7b0591a7d022dc7eb9ee6608a1b6c39d9b..d81c7307127b135417e06a3b244416bee34b0abe 100644
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
* Should only be used for packet/clientside related stuff.
* Not intended for modifying server side.
*/
-public class PlayerChunkUnloadEvent extends ChunkEvent {
+public class PlayerChunkUnloadEvent extends ChunkEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
index ef0cb00ca4cb7d2f5e4ec1c950cce036566d1ae4..df53183beb4c438ea3c821e1ffd8e2719c08f269 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -30,7 +30,7 @@ import org.bukkit.entity.Player;
* magnitude than 360 are valid, but may be normalized to any other equivalent
* representation by the implementation.
*/
-public class Location implements Cloneable, ConfigurationSerializable {
+public class Location implements Cloneable, ConfigurationSerializable, gg.projecteden.parchment.HasLocation { // Parchment
private Reference<World> world;
private double x;
private double y;
@@ -72,6 +72,13 @@ public class Location implements Cloneable, ConfigurationSerializable {
this.yaw = yaw;
}
+ // Parchment start
+ @Override
+ public @NotNull Location getLocation() {
+ return this;
+ }
+ // Parchment end
+
/**
* Sets the world that this location resides in
*
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
index a7d1f1e701f23e851f735584a30bedadb0d8b9bd..7b37b6f596b4ac6b8049c7bd195139ac03ba63bc 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -10,7 +10,7 @@ import org.bukkit.profile.PlayerProfile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable {
+public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable, gg.projecteden.parchment.HasOfflinePlayer, gg.projecteden.parchment.OptionalPlayer { // Parchment
/**
* Checks if this player is currently online
@@ -139,6 +139,13 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@Nullable
public Player getPlayer();
+ // Parchment start
+ @Override
+ default @org.jetbrains.annotations.NotNull OfflinePlayer getOfflinePlayer() {
+ return this;
+ }
+ // Parchment end
+
/**
* Gets the first date and time that this player was witnessed on this
* server.
diff --git a/src/main/java/org/bukkit/Raid.java b/src/main/java/org/bukkit/Raid.java
index 983a8c20a06d2b509602b27f49c090598b8ecc42..46dd8496f5a2c792ee7811e33c424e88edf8b5b3 100644
--- a/src/main/java/org/bukkit/Raid.java
+++ b/src/main/java/org/bukkit/Raid.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a raid event.
*/
-public interface Raid {
+public interface Raid extends gg.projecteden.parchment.HasLocation { // Parchment
/**
* Get whether this raid started.
diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java
index 209a302c3a2ed333780ed760314a6ed352fc0767..9d29f1c5af56954bc452fa251d6bc0215ab3fe79 100644
--- a/src/main/java/org/bukkit/Vibration.java
+++ b/src/main/java/org/bukkit/Vibration.java
@@ -74,7 +74,7 @@ public class Vibration {
}
}
- public static class BlockDestination implements Destination {
+ public static class BlockDestination implements Destination, gg.projecteden.parchment.HasLocation { // Parchment
private final Location block;
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
index d124768378d6f0c5573f28ee815ea3886fe74868..e790878186b64422dc4a3f52f4c7611441c82589 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Concrete implementation of an attribute modifier.
*/
-public class AttributeModifier implements ConfigurationSerializable {
+public class AttributeModifier implements ConfigurationSerializable, gg.projecteden.interfaces.HasUniqueId { // Parchment
private final UUID uuid;
private final String name;
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
index e405c279f6135c94c775a856ab88fd3cace6bd5c..359cad4528e0c9b45ac3447655f24e7925bff7d2 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable;
* (i.e. lighting and power) may not be able to be safely accessed during world
* generation when used in cases like BlockPhysicsEvent!!!!
*/
-public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable { // Paper - translatable
+public interface Block extends Metadatable, net.kyori.adventure.translation.Translatable, gg.projecteden.parchment.HasLocation { // Paper - translatable
/**
* Gets the metadata for this block
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..280df0fc6f7344863f0fd2ba7592494bcd8bf2da 100644
--- a/src/main/java/org/bukkit/block/BlockState.java
+++ b/src/main/java/org/bukkit/block/BlockState.java
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable;
* change the state of the block and you will not know, or they may change the
* block to another type entirely, causing your BlockState to become invalid.
*/
-public interface BlockState extends Metadatable {
+public interface BlockState extends Metadatable, gg.projecteden.parchment.HasLocation { // Parchment
/**
* Gets the block represented by this block state.
diff --git a/src/main/java/org/bukkit/block/DoubleChest.java b/src/main/java/org/bukkit/block/DoubleChest.java
index a39d2f1acbbd84ae0e2cf29f85594e09e55e9355..4348b8961afe7a57350856622aff8c988cd4bbdd 100644
--- a/src/main/java/org/bukkit/block/DoubleChest.java
+++ b/src/main/java/org/bukkit/block/DoubleChest.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a double chest.
*/
-public class DoubleChest implements InventoryHolder {
+public class DoubleChest implements InventoryHolder, gg.projecteden.parchment.HasLocation { // Parchment
private DoubleChestInventory inventory;
public DoubleChest(@NotNull DoubleChestInventory chest) {
diff --git a/src/main/java/org/bukkit/entity/AnimalTamer.java b/src/main/java/org/bukkit/entity/AnimalTamer.java
index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..6daf17848951eff23186583a7b4af4de2f88d129 100644
--- a/src/main/java/org/bukkit/entity/AnimalTamer.java
+++ b/src/main/java/org/bukkit/entity/AnimalTamer.java
@@ -4,7 +4,7 @@ import java.util.UUID;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-public interface AnimalTamer {
+public interface AnimalTamer extends gg.projecteden.interfaces.HasUniqueId { // Parchment
/**
* This is the name of the specified AnimalTamer.
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 8bc6876c82935988436597161fa0ec94c032174b..ffd5fbc3e14be5439f1334c567b573c31528863c 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a base entity in the world
*/
-public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter { // Paper
+public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter, gg.projecteden.interfaces.HasUniqueId, gg.projecteden.parchment.HasLocation { // Paper // Parchment
/**
* Gets the entity's current position
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
index 5dbbeb92aec212d2e849d16320ed9c084b99fc35..32e5150b14f5d7d19d82d15631065db376814e25 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -19,7 +19,15 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a human entity, such as an NPC or a player
*/
-public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder {
+// Parchment start
+public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder, gg.projecteden.parchment.HasHumanEntity {
+
+ @NotNull
+ @Override
+ default HumanEntity getPlayer() {
+ return this;
+ }
+// Parchment end
// Paper start
@Override
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6cd0b10d1dc4506cfb1e4db5e1260cb705566cec..a3ff1cb4b2754900879c67638a3488cd9d76cdb1 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -40,7 +40,17 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a player, connected or not
*/
-public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, com.destroystokyo.paper.network.NetworkClient { // Paper
+public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, com.destroystokyo.paper.network.NetworkClient, gg.projecteden.parchment.HasPlayer { // Paper // Parchment
+
+ // Parchment start - fix defaults
+ /**
+ * Returns this player object.
+ *
+ * @return this player
+ */
+ @Override
+ @NotNull Player getPlayer();
+ // Parchment end
// Paper start
@Override
diff --git a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
index 691733a642b3295bbe6d484be728c77cd32803bd..a2eae7a9bad13d1ba2bd954888a0373834d30078 100644
--- a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull;
* If a Block Break event is cancelled, the block will not break and
* experience will not drop.
*/
-public class BlockBreakEvent extends BlockExpEvent implements Cancellable {
+public class BlockBreakEvent extends BlockExpEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player;
private boolean dropItems;
private boolean cancel;
diff --git a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
index a1350c0f74d445dca09eea6e10abac050bb06990..11bb6f8f7363f31061d5fd0f2e4515099ac40649 100644
--- a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable;
* #getMaterial()} instead.
* </ul>
*/
-public class BlockCanBuildEvent extends BlockEvent {
+public class BlockCanBuildEvent extends BlockEvent implements gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
protected boolean buildable;
diff --git a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
index cd04a0bd9d232857408b38605787016a217cb8d2..7035fe7c0f5adb981ac41804605c4fbcf57968bf 100644
--- a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
* If a Block Damage event is cancelled, the block will not be damaged.
* @see BlockDamageAbortEvent
*/
-public class BlockDamageEvent extends BlockEvent implements Cancellable {
+public class BlockDamageEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
private boolean instaBreak;
diff --git a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
index 3dd4bd38e72c04e74e5787fb38ca9abd10bad06b..3783fb96cc7086bc78dc06c573a1343c3a18c3cb 100644
--- a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
@@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull;
* AIR in most cases. Use #getBlockState() for more Information about the broken
* block.
*/
-public class BlockDropItemEvent extends BlockEvent implements Cancellable {
+public class BlockDropItemEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Player player;
diff --git a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
index 695309b4b7ef269ba2496408a5f874f61cd6c445..18207907e7b31ef9c136e857de046f9cce006111 100644
--- a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
* block with bonemeal. Will be called after the applicable
* {@link StructureGrowEvent}.
*/
-public class BlockFertilizeEvent extends BlockEvent implements Cancellable {
+public class BlockFertilizeEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled;
diff --git a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
index 6dcd9f828c6c40e48593b0bad5a44a656eb01645..0651bdd983e90e0e1e8a3565dcb5d97cfd69ce3e 100644
--- a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
* <p>
* If a Block Ignite event is cancelled, the block will not be ignited.
*/
-public class BlockIgniteEvent extends BlockEvent implements Cancellable {
+public class BlockIgniteEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final IgniteCause cause;
private final Entity ignitingEntity;
diff --git a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
index be0a2d1f234d8265d98e54e518a994957b1f3ab7..54cd6735fbcad009330927d760f8bd93ea9c51ec 100644
--- a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
* <p>
* If a Block Place event is cancelled, the block will not be placed.
*/
-public class BlockPlaceEvent extends BlockEvent implements Cancellable {
+public class BlockPlaceEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
protected boolean cancel;
protected boolean canBuild;
diff --git a/src/main/java/org/bukkit/event/block/SignChangeEvent.java b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
index 1268066e30ddb0cd3792ea4b3de894eb04196669..1e20629da438651d3987258b93cf9caf9eff9452 100644
--- a/src/main/java/org/bukkit/event/block/SignChangeEvent.java
+++ b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable;
* <p>
* If a Sign Change event is cancelled, the sign will not be changed.
*/
-public class SignChangeEvent extends BlockEvent implements Cancellable {
+public class SignChangeEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancel = false;
private final Player player;
diff --git a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
index 59aab10c2d27247eb77bd71d75b5f9126aa0fb12..b42465617e83d3413ab647cd9c78212b61ca5833 100644
--- a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable;
* This can be cancelled but the item will still be consumed that was used to
* make the entity enter into love mode.
*/
-public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable {
+public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.OptionalHumanEntity { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancel;
@@ -42,11 +42,27 @@ public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable
*
* @return The Human entity that caused the animal to enter love mode, or
* null if there wasn't one.
+ * @deprecated alias of {@link #getPlayer()} <!-- Parchment: fix inconsistent naming -->
*/
@Nullable
- public HumanEntity getHumanEntity() {
+ // Parchment start
+ @Deprecated
+ public final HumanEntity getHumanEntity() {
+ return getPlayer();
+ }
+
+ /**
+ * Gets the Human Entity that caused the animal to enter love mode.
+ *
+ * @return The Human entity that caused the animal to enter love mode, or
+ * null if there wasn't one.
+ */
+ @Override
+ @Nullable
+ public HumanEntity getPlayer() {
return humanEntity;
}
+ // Parchment end
/**
* Gets the amount of ticks that the animal will fall in love for.
diff --git a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
index 10d0e18dfd423b108fe381e8142867eb10399359..7f9f266057de42261fa06e4874d7bec5388c90c7 100644
--- a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Called when an entity explodes
*/
-public class EntityExplodeEvent extends EntityEvent implements Cancellable {
+public class EntityExplodeEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancel;
private final Location location;
diff --git a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
index ea8f9ed43d8e4158e6c9c345252a94a5000c5561..98d308eda8287cb1f1a0aab5208c7c6f13047c05 100644
--- a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
* Note that this event is currently only fired for four specific placements:
* armor stands, boats, minecarts, and end crystals.
*/
-public class EntityPlaceEvent extends EntityEvent implements Cancellable {
+public class EntityPlaceEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled;
diff --git a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
index 6818e9f0ba32ca1a1e612703f7526b29f5a6438f..c9c4a6673fd3995bb9638b0d25fa212412cda807 100644
--- a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Called when an entity comes into contact with a portal
*/
-public class EntityPortalEnterEvent extends EntityEvent {
+public class EntityPortalEnterEvent extends EntityEvent implements gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Location location;
diff --git a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
index 961ee511342cd3a12ff2ff74d7b4683c6753123d..892732ab5ae58ec980c4fd05a5a3dfdcbd70a528 100644
--- a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
* <p>
* If an Entity Spawn event is cancelled, the entity will not spawn.
*/
-public class EntitySpawnEvent extends EntityEvent implements Cancellable {
+public class EntitySpawnEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean canceled;
diff --git a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
index 6fc66197eb2c5d59c70d8d028b7963748371edbe..dc45ec5b6ae8e2958d83a113d23ab0b1a911de3f 100644
--- a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
+++ b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
* Cancelling the event results in the item being allowed to exist for 5 more
* minutes. This behavior is not guaranteed and may change in future versions.
*/
-public class ItemDespawnEvent extends EntityEvent implements Cancellable {
+public class ItemDespawnEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean canceled;
private final Location location;
diff --git a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
index 5eb3fb72a13881b8bf0e40037b0002cb0a6eb883..4d5d0b730ad957e44f549518366841492b537ab2 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Called immediately prior to a creature being leashed by a player.
*/
-public class PlayerLeashEntityEvent extends Event implements Cancellable {
+public class PlayerLeashEntityEvent extends Event implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private final Entity leashHolder;
private final Entity entity;
diff --git a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
index 1bcff119ecd95012c568c777e5ca2e891e56831e..517f115123fa2009ba0837b0754411e93808562f 100644
--- a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
+++ b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Triggered when a hanging entity is created in the world
*/
-public class HangingPlaceEvent extends HangingEvent implements Cancellable {
+public class HangingPlaceEvent extends HangingEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled;
private final Player player;
diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
index 020739697a0b535cad0b15b574f77cdabbdfa3eb..ee4fd41e66852d5d2c62222c7b884473d3f3001d 100644
--- a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* This event is called when a player takes items out of the furnace
*/
-public class FurnaceExtractEvent extends BlockExpEvent {
+public class FurnaceExtractEvent extends BlockExpEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player;
private final Material itemType;
private final int itemAmount;
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
index 21ad8888c0e403bfc63518502577d651c02dda05..1c59335a8f0a40162190f6fb73ffbfef0cd795d8 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a player related inventory event
*/
-public class InventoryCloseEvent extends InventoryEvent {
+public class InventoryCloseEvent extends InventoryEvent implements gg.projecteden.parchment.HasHumanEntity { // Parchment
private static final HandlerList handlers = new HandlerList();
// Paper start
private final Reason reason;
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
index 9013d043503d175004ad276799e5935b7fa59dc4..4095ca19e6ceff2432e0cbd372e9475f748278a7 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a player related inventory event
*/
-public class InventoryOpenEvent extends InventoryEvent implements Cancellable {
+public class InventoryOpenEvent extends InventoryEvent implements Cancellable, gg.projecteden.parchment.HasHumanEntity { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled;
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
index 635b8787fc235b61c0d5677def034656e4ec4cef..2270ecbf5189ab42aac357534896c89bbc871a97 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
* <p>
* This event is asynchronous, and not run using main thread.
*/
-public class AsyncPlayerPreLoginEvent extends Event {
+public class AsyncPlayerPreLoginEvent extends Event implements gg.projecteden.interfaces.HasUniqueId { // Parchment
private static final HandlerList handlers = new HandlerList();
private Result result;
private net.kyori.adventure.text.Component message; // Paper
diff --git a/src/main/java/org/bukkit/event/player/PlayerEvent.java b/src/main/java/org/bukkit/event/player/PlayerEvent.java
index f6d3b817de3001f04ea4554c7c39a1290af3fd6d..44efb5cc62149b34b994eadac488a90269e8ae79 100644
--- a/src/main/java/org/bukkit/event/player/PlayerEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerEvent.java
@@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Represents a player related event
*/
-public abstract class PlayerEvent extends Event {
+public abstract class PlayerEvent extends Event implements gg.projecteden.parchment.HasPlayer { // Parchment
protected Player player;
public PlayerEvent(@NotNull final Player who) {
diff --git a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
index 6800132c6288b4588fd02b08d26f016c38f27129..f1a707adfe190090e2fa8cd0f497fb470959172f 100644
--- a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.NotNull;
*/
@Deprecated
@Warning(reason = "This event causes a login thread to synchronize with the main thread")
-public class PlayerPreLoginEvent extends Event {
+public class PlayerPreLoginEvent extends Event implements gg.projecteden.interfaces.HasUniqueId { // Parchment
private static final HandlerList handlers = new HandlerList();
private Result result;
private net.kyori.adventure.text.Component message; // Paper
diff --git a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
index 68eab1563caba1ee4f52b308f390e4e172667fc5..7f2be08b1e7b6df4bab8a8996bc276f369a8ff78 100644
--- a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
/**
* Called prior to an entity being unleashed due to a player's action.
*/
-public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable {
+public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private final Player player;
private boolean cancelled = false;
diff --git a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
index 128e43cf12205f82f2b119a773208502cdccfdd4..ca1fed3081e2b0a3271a2dfa0f49cce78bdb8e23 100644
--- a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
+++ b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
* Called when a {@link Raid} is triggered (e.g: a player with Bad Omen effect
* enters a village).
*/
-public class RaidTriggerEvent extends RaidEvent implements Cancellable {
+public class RaidTriggerEvent extends RaidEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
//
diff --git a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
index 4a3451af454295ac3e1b688e6665cad9fc594c82..b88cebb219577d59cc338be89c6f391d10702095 100644
--- a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
+++ b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.NotNull;
* advised to ensure the client does not have permission for the relevant
* commands, or use {@link PlayerCommandSendEvent}.
*/
-public class TabCompleteEvent extends Event implements Cancellable {
+public class TabCompleteEvent extends Event implements Cancellable, gg.projecteden.parchment.OptionalLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
//
diff --git a/src/main/java/org/bukkit/event/world/GenericGameEvent.java b/src/main/java/org/bukkit/event/world/GenericGameEvent.java
index 2a2a329877d8da45c2d6afecf78ce88d52635cad..22cdf3662b02fb5751ac6d913d781084cd7eee5b 100644
--- a/src/main/java/org/bukkit/event/world/GenericGameEvent.java
+++ b/src/main/java/org/bukkit/event/world/GenericGameEvent.java
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
* Specific Bukkit events should be used where possible, this event is mainly
* used internally by Sculk sensors.
*/
-public class GenericGameEvent extends WorldEvent implements Cancellable {
+public class GenericGameEvent extends WorldEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
private static final HandlerList handlers = new HandlerList();
private final GameEvent event;
diff --git a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
index 7af8d6e51c824cf0592b722b834f1d4986e3cc08..c28d62fc3dc359f9ebcf926094198ee3c92467aa 100644
--- a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
+++ b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
* Event that is called when an organic structure attempts to grow (Sapling {@literal ->}
* Tree), (Mushroom {@literal ->} Huge Mushroom), naturally or using bonemeal.
*/
-public class StructureGrowEvent extends WorldEvent implements Cancellable {
+public class StructureGrowEvent extends WorldEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false;
private final Location location;
diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java
index 1b577c03c3152d22b70f8bdb321b28ad8fbbc3af..b3449a874666bcd67950ec12da41738f7c24ddee 100644
--- a/src/main/java/org/bukkit/inventory/Inventory.java
+++ b/src/main/java/org/bukkit/inventory/Inventory.java
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
* @see #getContents()
* @see #getStorageContents()
*/
-public interface Inventory extends Iterable<ItemStack> {
+public interface Inventory extends Iterable<ItemStack>, gg.projecteden.parchment.OptionalLocation { // Parchment
/**
* Returns the size of the inventory
diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java
index 2448e70d75ae7a678c6befac4506c103edb78875..65ca144618f74bc8e317a4b9c2732ad5ed13a208 100644
--- a/src/main/java/org/bukkit/inventory/InventoryView.java
+++ b/src/main/java/org/bukkit/inventory/InventoryView.java
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
* contracts of certain methods, there's no guarantee that the game will work
* as it should.
*/
-public abstract class InventoryView {
+public abstract class InventoryView implements gg.projecteden.parchment.HasHumanEntity { // Parchment
public static final int OUTSIDE = -999;
/**
* Represents various extra properties of certain inventory windows.
diff --git a/src/main/java/org/bukkit/loot/LootContext.java b/src/main/java/org/bukkit/loot/LootContext.java
index 71b7aa9d675e1714e286e6fd4015ead036d912e0..95e120068a7c5c96b1b8553df9cf8654ba63a325 100644
--- a/src/main/java/org/bukkit/loot/LootContext.java
+++ b/src/main/java/org/bukkit/loot/LootContext.java
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
* Represents additional information a {@link LootTable} can use to modify it's
* generated loot.
*/
-public final class LootContext {
+public final class LootContext implements gg.projecteden.parchment.HasLocation { // Parchment
public static final int DEFAULT_LOOT_MODIFIER = -1;