60 lines
1.9 KiB
Java
60 lines
1.9 KiB
Java
/*
|
|
* This file is part of the public ComputerCraft API - http://www.computercraft.info
|
|
* Copyright Daniel Ratcliffe, 2011-2021. This API may be redistributed unmodified and in full only.
|
|
* For help using the API, and posting your mods, visit the forums at computercraft.info.
|
|
*/
|
|
package dan200.computercraft.api.network;
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
/**
|
|
* A packet network represents a collection of devices which can send and receive packets.
|
|
*
|
|
* @see Packet
|
|
* @see IPacketReceiver
|
|
*/
|
|
public interface IPacketNetwork
|
|
{
|
|
/**
|
|
* Add a receiver to the network.
|
|
*
|
|
* @param receiver The receiver to register to the network.
|
|
*/
|
|
void addReceiver( @Nonnull IPacketReceiver receiver );
|
|
|
|
/**
|
|
* Remove a receiver from the network.
|
|
*
|
|
* @param receiver The device to remove from the network.
|
|
*/
|
|
void removeReceiver( @Nonnull IPacketReceiver receiver );
|
|
|
|
/**
|
|
* Determine whether this network is wireless.
|
|
*
|
|
* @return Whether this network is wireless.
|
|
*/
|
|
boolean isWireless();
|
|
|
|
/**
|
|
* Submit a packet for transmitting across the network. This will route the packet through the network, sending it
|
|
* to all receivers within range (or any interdimensional ones).
|
|
*
|
|
* @param packet The packet to send.
|
|
* @param range The maximum distance this packet will be sent.
|
|
* @see #transmitInterdimensional(Packet)
|
|
* @see IPacketReceiver#receiveSameDimension(Packet, double)
|
|
*/
|
|
void transmitSameDimension( @Nonnull Packet packet, double range );
|
|
|
|
/**
|
|
* Submit a packet for transmitting across the network. This will route the packet through the network, sending it
|
|
* to all receivers across all dimensions.
|
|
*
|
|
* @param packet The packet to send.
|
|
* @see #transmitSameDimension(Packet, double)
|
|
* @see IPacketReceiver#receiveDifferentDimension(Packet)
|
|
*/
|
|
void transmitInterdimensional( @Nonnull Packet packet );
|
|
}
|