Skip to content

Fabwork 1.1.9 for Minecraft 1.19.X

Compare
Choose a tag to compare
@Sollace Sollace released this 24 Mar 00:50
· 2 commits to 1.20 since this release
  • Compatible with 1.19.2, 1.19.3, 1.19.4

  • Mod resolution is now more reliable and should lead to fewer disconnects due to server or client not receiving notice in time:

    • Fixed the order of events so the server has a chance to send mod lists to the client before either side attempts to verify
    • The client is more forgiving for slower connection. It will attempt to verify the mod list sent by the server up to 5 times with a wait of 300ms between each check, so even in the event of the first fix not working, the second should ensure a reliable experience, albeit with a slight delay.
  • Relating to this, Fabwork has introduced its own networking events (currently not part of the api):

    • ClientConnectionEvents.CONNECT (fired after fabric's regular JOIN event)
    • ServerConnectionEvents.CONNECT (fired after fabric's regular JOIN event but before the client's corresponding JOIN event)

    The reason for adding these events are because the existing events provided by Fabric do not occur in the expected order which makes them unsuitable for mods like Fabwork that require messages to be transmitted in a specific order to work.

    The normal order of events as they are exist like this:

    Fabric:Client:INIT -> Fabric:Server:INIT -> Fabric:Server:JOIN -> Fabric:Client:JOIN

    With Fabwork's events, the flow is extended with an additional phase:

    Fabric:Client:INIT -> Fabric:Server:INIT -> Fabric:Server:JOIN -> Fabric:Client:JOIN -> Fabwork:Client:CONNECT -> Fabwork:Server:CONNECT

    Because these events are reliant on a packet being received by the client, which is true of both Fabric and Fabwork, what's important here is that the event is fired after the corresponding notice has been sent off to the client. So even if the network introduces delays, any packets sent during the Fabwork:Server:CONNECT event can at least be guaranteed to arrive on the client after it has received the Fabwork:Client:CONNECT event.