# ![](https://gamepedia.cursecdn.com/terraria_gamepedia/8/82/Flying_Snake.png?version=2b0351f579d721166af80a12d2c2e325) `flyingsnake` [![](https://img.shields.io/pypi/v/flyingsnake)](https://pypi.org/project/flyingsnake/)

Generate Terraria world maps with this easy to use command line utility!

![A world map](https://i.imgur.com/HtNEIKw.png)

## Requirements

To use `flyingsnake`, you need [Python 3.7 or higher](https://www.python.org/downloads/) installed on your machine.

## Installing

`flyingsnake` is available on PyPI, so you can download it through `pip`. 

Just enter this in your terminal:

```
pip install flyingsnake
```

## Usage

To create a basic world map named `Output.png` from the `Small_Example.wld` file present in your current working directory, run in your terminal:

```
python3.7 -m flyingsnake Small_Example.wld Output.png
```

### Layers

The world map is generated by merging together multiple layers that can be enabled/disabled through flags.

In order, those are:
- Background
- Walls
- Liquids
- Blocks
- Wires

#### Background

The background layer is made by coloring the Overworld, the Underground and the Caverns their respective background color.

It can be turned off with the `--no-background` flag.

![The background layer](https://i.imgur.com/69qRLZX.png)

#### Walls

The walls layer contains the colors of the walls present in the world.

It can be turned off with the `--no-walls` flag.

![The wall layer](https://i.imgur.com/Grkq5PQ.png)

#### Liquids

The liquids layer contains the colors of the liquids present in the world (water, lava, honey...)

It can be turned off with the `--no-liquids` flag.

![The liquids layer](https://i.imgur.com/Pifjb4D.png)

#### Blocks

The blocks layer contains the colors of the blocks present in the world.

It can be turned off with the `--no-blocks` flag.

![The blocks layer](https://i.imgur.com/E05kgOA.png)

#### Wires

The wires layer is a semi-transparent overlay of the wires present in the world.

It can be turned off with the `--no-wires` flag.

![The wires layer](https://i.imgur.com/XDLRCAE.png)

### Custom colors

Different colors can be specified by passing the `--colors file.json` option to the command.

You can see an example color file [here](https://github.com/Steffo99/flyingsnake/tree/master/flyingsnake/example_colors.json); the colors are in RGBA format, and go from 0 to 255.

If no custom colors are passed, the script will use the default [TEdit](https://github.com/TEdit/Terraria-Map-Editor) colors (defined in settings.xml).

## License

`flyingsnake` is licensed under the [AGPL 3.0](/LICENSE.txt).
That means you have to publish under the same license the source code of any program you create that uses `flyingsnake`.

## See also

- [lihzahrd](https://github.com/Steffo99/lihzahrd), the package used to make this generator.
