Using Reflection instead of ProtocolLib