2020-04-14 17:14:24 +02:00
|
|
|
package de.ellpeck.prettypipes.packets;
|
|
|
|
|
|
|
|
import de.ellpeck.prettypipes.PrettyPipes;
|
|
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
|
|
import net.minecraft.entity.player.ServerPlayerEntity;
|
|
|
|
import net.minecraft.util.ResourceLocation;
|
|
|
|
import net.minecraft.util.math.BlockPos;
|
|
|
|
import net.minecraft.world.IWorld;
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
import net.minecraftforge.fml.network.NetworkRegistry;
|
|
|
|
import net.minecraftforge.fml.network.PacketDistributor;
|
|
|
|
import net.minecraftforge.fml.network.simple.SimpleChannel;
|
|
|
|
|
|
|
|
public final class PacketHandler {
|
|
|
|
|
|
|
|
private static final String VERSION = "1";
|
|
|
|
private static SimpleChannel network;
|
|
|
|
|
|
|
|
public static void setup() {
|
|
|
|
network = NetworkRegistry.newSimpleChannel(new ResourceLocation(PrettyPipes.ID, "network"), () -> VERSION, VERSION::equals, VERSION::equals);
|
|
|
|
network.registerMessage(0, PacketItemEnterPipe.class, PacketItemEnterPipe::toBytes, PacketItemEnterPipe::fromBytes, PacketItemEnterPipe::onMessage);
|
2020-04-16 02:48:58 +02:00
|
|
|
network.registerMessage(1, PacketButton.class, PacketButton::toBytes, PacketButton::fromBytes, PacketButton::onMessage);
|
2020-05-07 18:30:40 +02:00
|
|
|
network.registerMessage(2, PacketNetworkItems.class, PacketNetworkItems::toBytes, PacketNetworkItems::fromBytes, PacketNetworkItems::onMessage);
|
2020-05-07 21:10:29 +02:00
|
|
|
network.registerMessage(3, PacketRequest.class, PacketRequest::toBytes, PacketRequest::fromBytes, PacketRequest::onMessage);
|
2020-05-09 14:56:58 +02:00
|
|
|
network.registerMessage(4, PacketGhostSlot.class, PacketGhostSlot::toBytes, PacketGhostSlot::fromBytes, PacketGhostSlot::onMessage);
|
2020-10-15 06:07:06 +02:00
|
|
|
network.registerMessage(5, PacketCraftingModuleTransfer.class, PacketCraftingModuleTransfer::toBytes, PacketCraftingModuleTransfer::fromBytes, PacketCraftingModuleTransfer::onMessage);
|
2020-04-14 17:14:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void sendToAllLoaded(World world, BlockPos pos, Object message) {
|
|
|
|
network.send(PacketDistributor.TRACKING_CHUNK.with(() -> world.getChunkAt(pos)), message);
|
|
|
|
}
|
|
|
|
|
2020-05-07 18:30:40 +02:00
|
|
|
public static void sendTo(PlayerEntity player, Object message) {
|
|
|
|
network.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), message);
|
2020-04-14 17:14:24 +02:00
|
|
|
}
|
|
|
|
|
2020-04-16 02:48:58 +02:00
|
|
|
public static void sendToServer(Object message) {
|
|
|
|
network.send(PacketDistributor.SERVER.noArg(), message);
|
2020-04-14 17:14:24 +02:00
|
|
|
}
|
|
|
|
}
|