52 lines
2.2 KiB
Java
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());
|
|
}
|
|
} |