Files
Ascend/src/main/java/net/fretux/ascend/network/PacketHandler.java
T
2025-11-20 18:40:08 +01:00

52 lines
2.2 KiB
Java

package net.fretux.ascend.network;
import net.fretux.ascend.AscendMod;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.network.NetworkDirection;
import net.minecraftforge.network.NetworkRegistry;
import net.minecraftforge.network.PacketDistributor;
import net.minecraftforge.network.simple.SimpleChannel;
public class PacketHandler {
private static final String PROTOCOL_VERSION = "1";
public static SimpleChannel INSTANCE;
private static int id = 0;
public static void register() {
INSTANCE = NetworkRegistry.newSimpleChannel(
new ResourceLocation(AscendMod.MODID, "main"),
() -> PROTOCOL_VERSION,
PROTOCOL_VERSION::equals,
PROTOCOL_VERSION::equals
);
INSTANCE.messageBuilder(ServerboundSpendPointPacket.class, id++, NetworkDirection.PLAY_TO_SERVER)
.encoder(ServerboundSpendPointPacket::toBytes)
.decoder(ServerboundSpendPointPacket::new)
.consumerMainThread(ServerboundSpendPointPacket::handle)
.add();
INSTANCE.messageBuilder(ClientboundSyncStatsPacket.class, id++, NetworkDirection.PLAY_TO_CLIENT)
.encoder(ClientboundSyncStatsPacket::toBytes)
.decoder(ClientboundSyncStatsPacket::new)
.consumerMainThread(ClientboundSyncStatsPacket::handle)
.add();
INSTANCE.registerMessage(id++, ServerboundShrineChoicePacket.class,
ServerboundShrineChoicePacket::toBytes,
ServerboundShrineChoicePacket::new,
ServerboundShrineChoicePacket::handle);
INSTANCE.registerMessage(id++,
ClientboundOpenEssenceScreenPacket.class,
(msg, buf) -> {
},
buf -> new ClientboundOpenEssenceScreenPacket(),
ClientboundOpenEssenceScreenPacket::handle
);
}
public static void sendToPlayerOpenEssenceUI(ServerPlayer player) {
INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), new ClientboundOpenEssenceScreenPacket());
}
}