Skip to content

Commit 8bd583a

Browse files
committed
1.0.17-beta.2
1 parent 124ab71 commit 8bd583a

File tree

6 files changed

+73
-1
lines changed

6 files changed

+73
-1
lines changed

common/src/main/java/commonnetwork/api/Dispatcher.java

+13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package commonnetwork.api;
22

33
import net.minecraft.core.BlockPos;
4+
import net.minecraft.network.Connection;
45
import net.minecraft.server.MinecraftServer;
56
import net.minecraft.server.level.ServerChunkCache;
67
import net.minecraft.server.level.ServerLevel;
@@ -36,6 +37,18 @@ public static <T> void sendToServer(T packet, boolean ignoreCheck)
3637
Network.getNetworkHandler().sendToServer(packet, ignoreCheck);
3738
}
3839

40+
/**
41+
* Sends the packet to the connection.
42+
*
43+
* @param packet - the packet
44+
* @param connection - the connection
45+
* @param <T> - The packet
46+
*/
47+
public static <T> void send(T packet, Connection connection)
48+
{
49+
Network.getNetworkHandler().send(packet, connection);
50+
}
51+
3952
/**
4053
* Sends the packet to the client player, only if the player has the packet registered.
4154
*

common/src/main/java/commonnetwork/api/NetworkHandler.java

+10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package commonnetwork.api;
22

33
import net.minecraft.core.BlockPos;
4+
import net.minecraft.network.Connection;
45
import net.minecraft.server.MinecraftServer;
56
import net.minecraft.server.level.ServerChunkCache;
67
import net.minecraft.server.level.ServerLevel;
@@ -55,6 +56,15 @@ default <T> void sendToClient(T packet, ServerPlayer player)
5556
*/
5657
<T> void sendToClient(T packet, ServerPlayer player, boolean ignoreCheck);
5758

59+
/**
60+
* Sends the packet to the connection.
61+
*
62+
* @param packet - the packet
63+
* @param connection - the connection
64+
* @param <T> - The packet
65+
*/
66+
<T> void send(T packet, Connection connection);
67+
5868
/**
5969
* Sends the packet to the client players, only if the players has the packet registered.
6070
*

fabric/src/main/java/commonnetwork/networking/FabricNetworkHandler.java

+19
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
1212
import net.fabricmc.fabric.api.networking.v1.ServerConfigurationNetworking;
1313
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
14+
import net.minecraft.network.Connection;
15+
import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
16+
import net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket;
1417
import net.minecraft.server.level.ServerPlayer;
1518

1619
public class FabricNetworkHandler extends PacketRegistrationHandler
@@ -84,6 +87,22 @@ protected <T> void registerPacket(PacketContainer<T> container)
8487

8588
}
8689

90+
@Override
91+
public <T> void send(T packet, Connection connection)
92+
{
93+
PacketContainer<T> container = (PacketContainer<T>) PACKET_MAP.get(packet.getClass());
94+
if (container != null)
95+
{
96+
if (this.side == Side.SERVER)
97+
{
98+
connection.send(new ClientboundCustomPayloadPacket(new CommonPacketWrapper<>(container, packet)));
99+
}
100+
else
101+
{
102+
connection.send(new ServerboundCustomPayloadPacket(new CommonPacketWrapper<>(container, packet)));
103+
}
104+
}
105+
}
87106

88107
@SuppressWarnings("unchecked")
89108
public <T> void sendToServer(T packet, boolean ignoreCheck)

forge/src/main/java/commonnetwork/networking/ForgeNetworkHandler.java

+11
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,17 @@ public <T> void sendToClient(T packet, ServerPlayer player, boolean ignoreCheck)
107107
}
108108
}
109109

110+
@Override
111+
public <T> void send(T packet, Connection connection)
112+
{
113+
var message = (Message<T>) CHANNELS.get(packet.getClass());
114+
if (message != null)
115+
{
116+
var channel = message.channel();
117+
channel.send(new CommonPacketWrapper(message.container, packet), connection);
118+
}
119+
}
120+
110121
private static void handle(CustomPacketPayload customPacketPayload, CustomPayloadEvent.Context ctx)
111122
{
112123
}

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Project
2-
version=1.0.17-beta
2+
version=1.0.17-beta.2
33
group_id=mysticdrew
44

55
curseforge_project_id=806044

neoforge/src/main/java/commonnetwork/networking/NeoForgeNetworkHandler.java

+19
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import commonnetwork.networking.data.Side;
88
import commonnetwork.networking.exceptions.RegistrationException;
99
import net.minecraft.client.Minecraft;
10+
import net.minecraft.network.Connection;
11+
import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
1012
import net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket;
1113
import net.minecraft.server.level.ServerPlayer;
1214
import net.neoforged.bus.api.SubscribeEvent;
@@ -71,6 +73,23 @@ public <T> void sendToServer(T packet, boolean ignoreCheck)
7173
}
7274
}
7375

76+
@Override
77+
public <T> void send(T packet, Connection connection)
78+
{
79+
PacketContainer<T> container = (PacketContainer<T>) PACKET_MAP.get(packet.getClass());
80+
if (container != null)
81+
{
82+
if (this.side == Side.SERVER)
83+
{
84+
connection.send(new ClientboundCustomPayloadPacket(new CommonPacketWrapper<>(container, packet)));
85+
}
86+
else
87+
{
88+
connection.send(new ServerboundCustomPayloadPacket(new CommonPacketWrapper<>(container, packet)));
89+
}
90+
}
91+
}
92+
7493
@SuppressWarnings("unchecked")
7594
public <T> void sendToClient(T packet, ServerPlayer player, boolean ignoreCheck)
7695
{

0 commit comments

Comments
 (0)