Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/steffo99/flyingsnake
CLI Terraria world map renderer
https://github.com/steffo99/flyingsnake
lihzahrd pillow python37 terraria
Last synced: about 2 months ago
JSON representation
CLI Terraria world map renderer
- Host: GitHub
- URL: https://github.com/steffo99/flyingsnake
- Owner: Steffo99
- License: eupl-1.2
- Created: 2019-08-19T16:43:10.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-09T16:16:04.000Z (4 months ago)
- Last Synced: 2024-09-10T16:19:42.574Z (4 months ago)
- Topics: lihzahrd, pillow, python37, terraria
- Language: Python
- Homepage: https://forums.terraria.org/index.php?threads/flyingsnake-a-world-map-renderer.82400/
- Size: 110 KB
- Stars: 9
- Watchers: 1
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
![](.media/icon-128x128_round.png)
# Flyingsnake
CLI Terraria world map renderer
## Links
[![Available on PyPI](https://img.shields.io/pypi/v/flyingsnake)](https://pypi.org/project/flyingsnake/)
## Screenshots
![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
### 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
> **Warning**
>
> Loading maliciously designed Terraria worlds can drain system resources, crash the interpreter, or possibly do more evil things!
>
> **Make sure you trust the worlds you are rendering!**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