Change to option dependency on ProtocolLib, clean up code *a lot*, fix a few bugs/oversights