equivalent-exchange-3/ee3_common/net/minecraft/src/ee3/network/PacketHandler.java

51 lines
1.6 KiB
Java

package net.minecraft.src.ee3.network;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import net.minecraft.src.NetworkManager;
import net.minecraft.src.Packet;
import net.minecraft.src.Packet1Login;
import net.minecraft.src.mod_EE3;
import net.minecraft.src.forge.IConnectionHandler;
import net.minecraft.src.forge.IPacketHandler;
import net.minecraft.src.forge.MessageManager;
public class PacketHandler implements IPacketHandler, IConnectionHandler {
@Override
public void onConnect(NetworkManager network) {
}
@Override
//Called when a connection is established
public void onLogin(NetworkManager network, Packet1Login login) {
MessageManager.getInstance().registerChannel(network, this, mod_EE3.CHANNEL_NAME);
}
@Override
//Called when a connection drops
public void onDisconnect(NetworkManager network, String message, Object[] args) {
MessageManager.getInstance().removeConnection(network);
}
@Override
// Called when a Packet is received
public void onPacketData(NetworkManager network, String channel, byte[] data) {
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(data));
EEPacket packet = PacketTypeHandler.buildPacket(data);
packet.execute(network);
}
// Called when a Packet is requested to be sent
public static Packet getPacketForSending(EEPacket packet) {
return PacketTypeHandler.populatePacket(packet);
}
public static EEPacket getPacket(PacketTypeHandler type) {
EEPacket pkt = PacketTypeHandler.buildPacket(type);
return pkt;
}
}