package mrtjp.projectred.api; import net.minecraft.world.World; public interface ITransmissionAPI { /** * Queries the block on side of this block for the bundled signal being * emitted to this block. * * @param world The world containing the block * @param x The x coordinate of the block/tile querying signal * @param y The y coordinate of the block/tile querying signal * @param z The z coordinate of the block/tile querying signal * @param side The side of the block * @return A bundled signal {@link IBundledEmitter} */ public byte[] getBundledInput(World world, int x, int y, int z, int side); /** * Checks to see if the position specified contains a bundled cable. * * @param world The world containing the block * @param x The x coordinate of the block to check * @param y The y coordinate of the block to check * @param z The z coordinate of the block to check * @param side The side to check * @return If the given position contains a bundled cable on the given side. */ public boolean containsBundledCable(World world, int x, int y, int z, int side); /** * Used to register a IBundledTileInteraction to allow PR wiring to use * your block's signals without having to implement an interface on your * tile entity. * * @param interaction The interaction class you want to register */ public void registerBundledTileInteraction(IBundledTileInteraction interaction); /** * Checks to see if there is a framed wire at this coordinate. * * @param world The world containing the block * @param x The x coordinate of the block/tile querying signal * @param y The y coordinate of the block/tile querying signal * @param z The z coordinate of the block/tile querying signal * @return True if there is a framed wire within the block */ public boolean containsFramedWire(World world, int x, int y, int z); /** * Retreives the connection mask of the framed wire at the blockspace * if there is one or -1 if there isnt. * * @param world The world containing the block * @param x The x coordinate of the block/tile querying signal * @param y The y coordinate of the block/tile querying signal * @param z The z coordinate of the block/tile querying signal * @return The connmask within 0x3F for the wire if exists, else -1 */ public int getFramedWireConnectionMask(World world, int x, int y, int z); }