-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathServerboundHypixelPayload.java
More file actions
36 lines (29 loc) · 1.25 KB
/
ServerboundHypixelPayload.java
File metadata and controls
36 lines (29 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package net.hypixel.modapi.fabric.payload;
import io.netty.buffer.ByteBuf;
import net.hypixel.modapi.packet.HypixelPacket;
import net.hypixel.modapi.serializer.PacketSerializer;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.resources.Identifier;
import org.jspecify.annotations.NonNull;
public class ServerboundHypixelPayload implements CustomPacketPayload {
private final Type<ServerboundHypixelPayload> type;
private final HypixelPacket packet;
public ServerboundHypixelPayload(HypixelPacket packet) {
this.type = new CustomPacketPayload.Type<>(Identifier.parse(packet.getIdentifier()));
this.packet = packet;
}
private void write(ByteBuf buf) {
PacketSerializer serializer = new PacketSerializer(buf);
packet.write(serializer);
}
@Override
public @NonNull Type<? extends CustomPacketPayload> type() {
return type;
}
public static StreamCodec<ByteBuf, ServerboundHypixelPayload> buildCodec() {
return CustomPacketPayload.codec(ServerboundHypixelPayload::write, _ -> {
throw new UnsupportedOperationException("Cannot read ServerboundHypixelPayload");
});
}
}