Area.Direction module

Functions for working with directions and orientations.

See also

Usage

local Direction = require('__stdlib__/stdlib/area/direction')

Functions

direction_to_orientation(direction) Returns an orientation from a direction.
next_direction(direction[, reverse=false][, eight_way=false]) Returns the next direction.
opposite_direction(direction) Returns the opposite direction — adapted from Factorio util.lua.
orientation_to_4way(orientation) Returns a 4 way direction from orientation.
orientation_to_8way(orientation) Returns an 8 way direction from orientation.
to_vector(direction, distance) Returns a vector from a direction.

Functions

# direction_to_orientation(direction)

Returns an orientation from a direction.

Parameters: Returns:
# next_direction(direction[, reverse=false][, eight_way=false])

Returns the next direction.

For entities that only support two directions, see opposite_direction.

Parameters:
  • direction : (defines.direction) the starting direction
  • reverse : (boolean) true to get the next direction in counter-clockwise fashion, false otherwise (default: false)
  • eight_way : (boolean) true to get the next direction in 8-way (note: not many prototypes support 8-way) (default: false)
Returns:
# opposite_direction(direction)

Returns the opposite direction — adapted from Factorio util.lua.

Parameters: Returns:
# orientation_to_4way(orientation)

Returns a 4 way direction from orientation.

Parameters: Returns:
# orientation_to_8way(orientation)

Returns an 8 way direction from orientation.

Parameters: Returns:
# to_vector(direction, distance)

Returns a vector from a direction.

Parameters: Returns:
  • (Position)