Metadata-Version: 2.1
Name: flyingsnake
Version: 3.0.0
Summary: A Terraria world map renderer
Home-page: https://github.com/Steffo99/flyingsnake
License: AGPL-3.0+
Author: Stefano Pigozzi
Author-email: ste.pigozzi@gmail.com
Requires-Python: >=3.6.2,<4.0.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Multimedia :: Graphics
Classifier: Typing :: Typed
Requires-Dist: Pillow (>=6.1.0,<7.0.0)
Requires-Dist: click (>=7.0,<8.0)
Requires-Dist: lihzahrd (>=3.0.1,<4.0.0)
Description-Content-Type: text/markdown

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

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

![flyingsnake Small_Example.wld Output.png](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 and inside your PATH.

## Installing

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

### Windows

Open either **Windows PowerShell** (Windows 10) or the **Command Prompt** (other Windows versions) and enter:

```batch
pip install flyingsnake --upgrade
```

### Linux

Enter this in your terminal:

```bash
python3.7 -m pip install flyingsnake --upgrade
```

## Usage

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

```bash
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` option.

![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` option.

![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

By default, `flyingsnake` uses the colors defined in the [TEdit settings file](https://github.com/TEdit/Terraria-Map-Editor/blob/master/TEditXna/settings.xml).

However, you can use different colors by passing the `--colors colors.json` option to the command.

You can see an example colors 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.

## License

`flyingsnake` is licensed under the [AGPL 3.0](/LICENSE.txt).
Basically, you're allowed to do whatever you want with this program, but you have to publish all modified code, and it has to be published under the same license.

## 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 its default colors

