Skip to content

Commit ac55894

Browse files
Merge pull request #54 from matthewperiut/fix-handshake-networkhandler-npe
[Networking] fix npe on handshake's getNetworkHandler
2 parents ab0ac1d + fbdd6ac commit ac55894

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

  • libraries/networking-impl
    • networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl
    • networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl
    • networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl

libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/Networking.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ public void initClient() {
2222
MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy);
2323
ClientPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new);
2424
ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> {
25+
// ensure the handshake is processed on the main thread,
26+
// where the network handler is guaranteed to be set
27+
context.ensureOnMainThread();
28+
2529
// send channel registration data as a response to receiving server channel registration data
2630
ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client());
2731

libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/Networking.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ public void initClient() {
2525
MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy);
2626
ClientPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new);
2727
ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> {
28+
// ensure the handshake is processed on the main thread,
29+
// where the network handler is guaranteed to be set
30+
context.ensureOnMainThread();
31+
2832
// send channel registration data as a response to receiving server channel registration data
2933
ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client());
3034

libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ public void initClient() {
2525
MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy);
2626
ClientPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new);
2727
ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> {
28+
// ensure the handshake is processed on the main thread,
29+
// where the network handler is guaranteed to be set
30+
context.ensureOnMainThread();
31+
2832
// send channel registration data as a response to receiving server channel registration data
2933
ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client());
3034

0 commit comments

Comments
 (0)