package crazypants.enderio.conduit.redstone; import java.util.Set; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import com.enderio.core.common.util.DyeColor; import crazypants.enderio.conduit.IConduit; public interface IRedstoneConduit extends IConduit { public static final String KEY_CONDUIT_ICON = "enderio:redstoneConduit"; public static final String KEY_TRANSMISSION_ICON = "enderio:redstoneConduitTransmission"; public static final String KEY_CORE_OFF_ICON = "enderio:redstoneConduitCoreOff"; public static final String KEY_CORE_ON_ICON = "enderio:redstoneConduitCoreOn"; // External redstone interface int isProvidingStrongPower(ForgeDirection toDirection); int isProvidingWeakPower(ForgeDirection toDirection); Set<Signal> getNetworkInputs(); Set<Signal> getNetworkInputs(ForgeDirection side); Set<Signal> getNetworkOutputs(ForgeDirection side); DyeColor getSignalColor(ForgeDirection dir); void updateNetwork(); // MFR RedNet int[] getOutputValues(World world, int x, int y, int z, ForgeDirection side); int getOutputValue(World world, int x, int y, int z, ForgeDirection side, int subnet); void onInputsChanged(World world, int x, int y, int z, ForgeDirection side, int[] inputValues); }