Skip to content

Commit 86e0887

Browse files
committed
Reintroduce FakePlayerNetworkHandler
For usage in Flashback
1 parent e3ac461 commit 86e0887

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package net.fabricmc.fabric.impl.event.interaction;
2+
3+
import io.netty.channel.Channel;
4+
import io.netty.channel.ChannelHandlerContext;
5+
import io.netty.channel.embedded.EmbeddedChannel;
6+
import net.minecraft.network.Connection;
7+
import net.minecraft.network.PacketListener;
8+
import net.minecraft.network.PacketSendListener;
9+
import net.minecraft.network.protocol.Packet;
10+
import net.minecraft.network.protocol.PacketFlow;
11+
import net.minecraft.server.level.ServerPlayer;
12+
import net.minecraft.server.network.CommonListenerCookie;
13+
import net.minecraft.server.network.ServerGamePacketListenerImpl;
14+
import org.jetbrains.annotations.Nullable;
15+
16+
@SuppressWarnings("unused")
17+
public final class FakePlayerNetworkHandler extends ServerGamePacketListenerImpl {
18+
private static final Connection FAKE_CONNECTION = new FakeClientConnection();
19+
20+
public FakePlayerNetworkHandler(ServerPlayer player) {
21+
super(player.getServer(), FAKE_CONNECTION, player, CommonListenerCookie.createInitial(player.getGameProfile(), false));
22+
}
23+
24+
@Override
25+
public void send(Packet<?> packet, @Nullable PacketSendListener listener) {}
26+
27+
private static final class FakeClientConnection extends Connection {
28+
private final Channel channel;
29+
30+
private FakeClientConnection() {
31+
super(PacketFlow.CLIENTBOUND);
32+
33+
this.channel = new EmbeddedChannel();
34+
}
35+
36+
public void setListenerForServerboundHandshake(PacketListener listener) {}
37+
38+
@Override
39+
public void channelActive(ChannelHandlerContext channelHandlerContext) {}
40+
41+
@Override
42+
public Channel channel() {
43+
return this.channel;
44+
}
45+
}
46+
}

ffapi.gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
loom.platform=neoforge
22
fabric.loom.dontRemap=true
33

4-
implementationVersion=2.2.0
4+
implementationVersion=2.2.1
55

66
versionMc=1.21.1
77
versionForge=21.1.217

0 commit comments

Comments
 (0)