package de.take_weiland.mods.commons.net;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
/**
* <p>An interface defining utility methods for sending packets around.</p>
* TODO: docs
*/
public interface SimplePacket {
SimplePacket sendTo(PacketTarget target);
SimplePacket sendToServer();
SimplePacket sendTo(EntityPlayer player);
SimplePacket sendTo(Iterable<? extends EntityPlayer> players);
SimplePacket sendToAll();
SimplePacket sendToAllIn(World world);
SimplePacket sendToAllNear(World world, double x, double y, double z, double radius);
SimplePacket sendToAllNear(Entity entity, double radius);
SimplePacket sendToAllNear(TileEntity te, double radius);
SimplePacket sendToAllTracking(Entity entity);
SimplePacket sendToAllTracking(TileEntity te);
SimplePacket sendToAllTrackingChunk(World world, int chunkX, int chunkZ);
SimplePacket sendToAllTracking(Chunk chunk);
SimplePacket sendToAllAssociated(Entity e);
SimplePacket sendToViewing(Container c);
/**
* <p>A dummy packet which does not send anything.</p>
*/
public static final SimplePacket DUMMY = new SimplePacket() {
@Override
public SimplePacket sendToServer() {
return this;
}
@Override
public SimplePacket sendToAllTracking(Entity entity) {
return this;
}
@Override
public SimplePacket sendToAllNear(TileEntity tileEntity, double radius) {
return this;
}
@Override
public SimplePacket sendToAllNear(Entity entity, double radius) {
return this;
}
@Override
public SimplePacket sendToAllNear(World world, double x, double y, double z, double radius) {
return this;
}
@Override
public SimplePacket sendToAllIn(World world) {
return this;
}
@Override
public SimplePacket sendToAll() {
return this;
}
@Override
public SimplePacket sendTo(Iterable<? extends EntityPlayer> players) {
return this;
}
@Override
public SimplePacket sendTo(EntityPlayer player) {
return this;
}
@Override
public SimplePacket sendTo(PacketTarget target) {
return this;
}
@Override
public SimplePacket sendToAllTracking(TileEntity te) {
return this;
}
@Override
public SimplePacket sendToAllAssociated(Entity e) {
return this;
}
@Override
public SimplePacket sendToViewing(Container c) {
return this;
}
@Override
public SimplePacket sendToAllTrackingChunk(World world, int chunkX, int chunkZ) {
return this;
}
@Override
public SimplePacket sendToAllTracking(Chunk chunk) {
return this;
}
};
}