mirror of
https://github.com/FabricMC/fabric.git
synced 2024-11-26 09:38:08 -05:00
1 commit
Author | SHA1 | Message | Date | |
---|---|---|---|---|
i509VCB
|
fd11873744 |
Fabric Networking API V1 (#1081)
* Networking api v1 Some final docs? Licenses and testmod Fix a bunch o imports and make things work for v1 (v0 is bork) Make the testmod pass checkstyle and work Docs for v1 * Deprecate v0 and implement using v1 * Drop files down one package due to package check error * Fix issue with channel registration, add another testmod * jaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavadoc * Make javadoc use `code`, move impl interface to package access * this things * Rename a few internal methods * Mark all client side stuff client only, move client mixins * Add null checks around the place, clarify some javadoc and method names * Make FutureListeners uninstantiable * Some internal nullable annotations * An impl class I forgot to rename * Some comments and clarify some client login handler javadoc * Add a missing FunctionalInterface annotation * Split play and login, move client stuff to right package * No interface left behind * Inline channel registries in api * Login and play subpackages not needed * Add helper method to create play custom packets * hasGlobalChannel -> hasGlobalReceiver * Just rename the collection method for now * Inline PlayPacketSender into static methods * Start on testmod idea for verifying dynamic registration * Add client login events * You don't say hello when talking to yourself. Also more testmod stuff * Make event names present tense * Some javadoc and impl interface rename * Change the test keybinding * Begin working on dynamic reg * Dynamic reg works, just need a lot of cleanup and reimpling global * A few renames, readd global methods * Try to reduce the amount of duplicate registration logic * Reimplement dynamic accessors * More impl * Start reimplementing global receivers. Still very hacky solution. * Reimplement some server global reciever stuff * Add login init event for server login. * Implement client login query start event * Move event invocations into addon, don't dual register global recievers * Finally reimplement global recievers for all networking phases * A revelation: Send packets properly This also finds the issue with screen getting the proper S2C channels, current on TODO list. * Disconnect event does not need a packet sender * Clarify, add methods to get channels net handler can recieve on client * Unregister actually works now * Bunch of null checks, add simpler login delay test for vanilla clients * Add some debug logging entries, fix unregister on client's session reg * Play channel event javadoc and rename login query handlers * More channel -> channelName * thisening * Introduce the basics infrastructure for tracking global receivers * Add more substantial javadoc to login connection events * Javadoc, reimplement unreg methods on v0, 1 impl fix * Implement tracking for global recievers * Dont forget to start tracked sessions in 3/4 cases * Global receiver docs and move methods in classes * Complete null checks * big boi javadoc part 1 * Finish the main javadoc, usage javadoc is left * Set so has method is not needed * Rename receiveable and sendable methods * Add the two missing private ctors * buildscript update to upstream * Split out player finding stuff to networking player tracking API v1 Signed-off-by: liach <liach@users.noreply.github.com> Forward v0 PlayerStream to new module, add entity track events Rename module to player tracking Well javadoc can make sense Decide on tracking for the name Update fabric-player-tracking-api-v1/src/main/java/net/fabricmc/fabric/api/networking/player/tracking/v1/package-info.java Co-authored-by: Erlend Åmdal <erlend@aamdal.com> Remove exceptions from javadoc that are not thrown javadoc fix again Handle a case where the player manager happens to be null rename player tracking to player lookup Yeet * Cherrypick #1092 * Remove some redundant client networking methods, rename `(un)register` to `(un)registerReceiver` * Simplify access to dynamic reg on client * Param shifting, let users get sender. * Warning about time and distance units * Make sure these are client only * Fix control flow in ClientPlayNetworking#send * Correct example code javadoc * javadoc correction in server login * Put login delay tests behind system property Also remove unnecessary junk added by old module that was merged together. * Fix ordering so channel registrations during `PHASE`_INIT work * Fix prod bug and an oversight * Fix login when connecting to dedicated server * Update registry sync to v0 to prevent issue with reg sync hanging client * this is done |