package zmaster587.advancedRocketry.network; import java.io.IOException; import zmaster587.advancedRocketry.api.SatelliteRegistry; import zmaster587.advancedRocketry.api.satellite.SatelliteBase; import zmaster587.libVulpes.network.BasePacket; import zmaster587.libVulpes.util.INetworkMachine; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.DimensionManager; public class PacketSatellite extends BasePacket { SatelliteBase machine; NBTTagCompound nbt; byte packetId; public PacketSatellite() { nbt = new NBTTagCompound(); }; public PacketSatellite(SatelliteBase machine) { this(); this.machine = machine; } @Override public void write(ByteBuf outline) { PacketBuffer packetBuffer = new PacketBuffer(outline); NBTTagCompound nbt = new NBTTagCompound(); machine.writeToNBT(nbt); try { packetBuffer.writeNBTTagCompoundToBuffer(nbt); } catch (IOException e) { e.printStackTrace(); } } @Override @SideOnly(Side.CLIENT) public void readClient(ByteBuf in) { PacketBuffer packetBuffer = new PacketBuffer(in); NBTTagCompound nbt; //TODO: error handling try { nbt = packetBuffer.readNBTTagCompoundFromBuffer(); SatelliteBase satellite = SatelliteRegistry.createFromNBT(nbt); zmaster587.advancedRocketry.dimension.DimensionManager.getInstance().getDimensionProperties(satellite.getDimensionId()).addSatallite(satellite); } catch (IOException e) { e.printStackTrace(); return; } } @Override public void read(ByteBuf in) { //Should never happen } public void executeClient(EntityPlayer player) { } public void executeServer(EntityPlayerMP player) { } public void execute(EntityPlayer player, Side side) { } }