Metadata-Version: 2.1
Name: flyingsnake
Version: 1.0
Summary: A Terraria world map renderer
Home-page: https://github.com/Steffo99/flyingsnake
Author: Stefano Pigozzi
Author-email: ste.pigozzi@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Multimedia :: Graphics
Classifier: Typing :: Typed
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: click (>=7.0)
Requires-Dist: lihzahrd (>=1.0b1)
Requires-Dist: Pillow (>=6.1.0)

# ![](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:

```
python3.7 -m 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:

```
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 selected exclusively with the `--background` flag, or turned off with the `--no-background` flag.

![flyingsnake Small_Example.wld Output.png --background](https://i.imgur.com/69qRLZX.png)

#### Walls

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

It can be selected exclusively with the `--walls` flag, or turned off with the `--no-walls` flag.

If the walls are painted, they will be colored with the paint color.
You can turn off paint colors with the `--no-paints` flag.

![flyingsnake Small_Example.wld Output.png --walls](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 selected exclusively with the `--liquids` flag, or turned off with the `--no-liquids` flag.

![flyingsnake Small_Example.wld Output.png --liquids](https://i.imgur.com/Pifjb4D.png)

#### Blocks

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

It can be selected exclusively with the `--blocks` flag, or turned off with the `--no-blocks` flag.

If the blocks are painted, they will be colored with the paint color.
You can turn off paint colors with the `--no-paints` flag.

![flyingsnake Small_Example.wld Output.png --blocks](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 selected exclusively with the `--wires` flag, or turned off with the `--no-wires` flag.

![flyingsnake Small_Example.wld Output.png --wires](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

If you are interested in `flyingsnake`, you might be interested in these other programs too:

- [lihzahrd](https://github.com/Steffo99/lihzahrd), the package used to make this generator
- [TEdit](https://github.com/TEdit/Terraria-Map-Editor), the Terraria map editor from which this package gets the default colors


