mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-06-08 00:23:38 +02:00
51 lines
2.1 KiB
Java
51 lines
2.1 KiB
Java
package powercrystals.minefactoryreloaded.api.rednet;
|
|
|
|
import net.minecraft.world.World;
|
|
import net.minecraftforge.common.util.ForgeDirection;
|
|
import powercrystals.minefactoryreloaded.api.rednet.connectivity.IRedNetConnection;
|
|
|
|
/**
|
|
* Defines a Block that can connect to RedNet cables. This must be implemented on your Block class.
|
|
* <p>
|
|
* Note that when you implement this, the RedNet network makes several assumptions about your code -
|
|
* It will never call the vanilla redstone output methods, querying only the methods contained in
|
|
* this interface, and will not issue block updates.
|
|
* <p>
|
|
* RedNet cables have their subnets indicated to the user by colored bands on the cable.
|
|
* The color of a given subnet is the same as the wool with metadata equal to the subnet number.
|
|
* <p>
|
|
* For reference:<br>
|
|
* 0:White, 1:Orange, 2:Magenta, 3:LightBlue, 4:Yellow, 5:Lime, 6:Pink, 7:Gray,
|
|
* 8:LightGray, 9:Cyan, 10:Purple, 11:Blue, 12:Brown, 13:Green, 14:Red, 15:Black
|
|
*/
|
|
public interface IRedNetOutputNode extends IRedNetConnection
|
|
{
|
|
/**
|
|
* Returns the output values of this RedNet node.
|
|
* This array must be 16 elements long.
|
|
* Only called if your block is connected in "All" mode.
|
|
*
|
|
* @param world The world this block is in.
|
|
* @param x This block's X coordinate.
|
|
* @param y This block's Y coordinate.
|
|
* @param z This block's Z coordinate.
|
|
* @param side The side the output values are required for.
|
|
* @return The output values.
|
|
*/
|
|
public int[] getOutputValues(World world, int x, int y, int z, ForgeDirection side);
|
|
|
|
/**
|
|
* Returns the output value of this RedNet node for a given subnet.
|
|
* Must be the same as getOutputValues(world, x, y, z, side)[subnet].
|
|
*
|
|
* @param world The world this block is in.
|
|
* @param x This block's X coordinate.
|
|
* @param y This block's Y coordinate.
|
|
* @param z This block's Z coordinate.
|
|
* @param side The side the output value is required for.
|
|
* @param subnet The subnet to get the output value for (0-15).
|
|
* @return The output value.
|
|
*/
|
|
public int getOutputValue(World world, int x, int y, int z, ForgeDirection side, int subnet);
|
|
}
|