Skip to content

Commit

Permalink
new: resolve NPE in NetHandlerPlayClient#handleSpawnPlayer (#152)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexdoru authored Jul 12, 2023
1 parent e296904 commit 4090c17
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package club.sk1er.patcher.mixins.bugfixes;

import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.client.network.NetworkPlayerInfo;
import net.minecraft.network.play.server.S0CPacketSpawnPlayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.UUID;

@Mixin(NetHandlerPlayClient.class)
public abstract class NetHandlerPlayClient_FixHandleSpawnPlayerNPE {

@Shadow
public abstract NetworkPlayerInfo getPlayerInfo(UUID p_175102_1_);

@Inject(
method = "handleSpawnPlayer",
cancellable = true,
at =
@At(
value = "INVOKE",
target = "Lnet/minecraft/network/PacketThreadUtil;checkThreadAndEnqueue(Lnet/minecraft/network/Packet;Lnet/minecraft/network/INetHandler;Lnet/minecraft/util/IThreadListener;)V",
shift = At.Shift.AFTER
))
private void patcher$fixHandleSpawnPlayerNPE(S0CPacketSpawnPlayer packetIn, CallbackInfo ci) {
if (this.getPlayerInfo(packetIn.getPlayer()) == null) {
ci.cancel();
}
}

}
1 change: 1 addition & 0 deletions src/main/resources/patcher.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
"bugfixes.MinecraftMixin_FixScreenState",
"bugfixes.MinecraftMixin_ForeignKeyboards",
"bugfixes.MinecraftMixin_PersistentShaders",
"bugfixes.NetHandlerPlayClient_FixHandleSpawnPlayerNPE",
"bugfixes.RenderPlayerMixin_ArmPosition",
"bugfixes.ScoreboardMixin_FixLogSpam",
"bugfixes.SoundManagerMixin_DuplicatedSounds",
Expand Down
1 change: 1 addition & 0 deletions versions/1.12.2-1.8.9.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ net.minecraft.network.play.server.SPacketEntityHeadLook net.minecraft.network.pl
net.minecraft.network.play.server.SPacketEntityStatus net.minecraft.network.play.server.S19PacketEntityStatus
net.minecraft.network.play.server.SPacketCloseWindow net.minecraft.network.play.server.S2EPacketCloseWindow
net.minecraft.network.play.server.SPacketCustomPayload net.minecraft.network.play.server.S3FPacketCustomPayload
net.minecraft.network.play.server.SPacketSpawnPlayer net.minecraft.network.play.server.S0CPacketSpawnPlayer
net.minecraft.network.status.client.CPacketServerQuery net.minecraft.network.status.client.C00PacketServerQuery
net.minecraft.network.status.server.SPacketServerInfo net.minecraft.network.status.server.S00PacketServerInfo
net.minecraft.network.status.server.SPacketPong net.minecraft.network.status.server.S01PacketPong
Expand Down

0 comments on commit 4090c17

Please sign in to comment.