1
Fork 0
mirror of https://github.com/Steffo99/flyingsnake.git synced 2024-10-16 06:27:34 +00:00
flyingsnake/README.md

131 lines
4 KiB
Markdown
Raw Permalink Normal View History

2024-09-09 13:18:11 +00:00
<div align="center">
2019-08-19 18:49:56 +00:00
2024-09-09 13:18:11 +00:00
![](.media/icon-128x128_round.png)
# Flyingsnake
CLI Terraria world map renderer
</div>
## Links
[![Available on PyPI](https://img.shields.io/pypi/v/flyingsnake)](https://pypi.org/project/flyingsnake/)
## Screenshots
2019-08-19 18:49:56 +00:00
2019-08-28 15:25:13 +00:00
![flyingsnake Small_Example.wld Output.png](https://i.imgur.com/HtNEIKw.png)
2019-08-19 18:49:56 +00:00
## Requirements
2019-08-28 15:05:33 +00:00
To use `flyingsnake`, you need [Python 3.7 or higher](https://www.python.org/downloads/) installed on your machine and inside your PATH.
2019-08-19 18:49:56 +00:00
## Installing
2019-08-28 15:05:33 +00:00
### Windows
Open either **Windows PowerShell** (Windows 10) or the **Command Prompt** (other Windows versions) and enter:
2019-08-28 15:13:46 +00:00
```batch
2019-08-28 15:32:57 +00:00
pip install flyingsnake --upgrade
2019-08-28 15:05:33 +00:00
```
### Linux
Enter this in your terminal:
2019-08-19 18:49:56 +00:00
2019-08-28 15:13:46 +00:00
```bash
2019-08-28 15:32:57 +00:00
python3.7 -m pip install flyingsnake --upgrade
2019-08-19 18:49:56 +00:00
```
## Usage
2023-03-07 00:45:33 +00:00
> **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!**
2019-08-28 15:13:46 +00:00
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:
2019-08-19 18:49:56 +00:00
2019-08-28 15:13:46 +00:00
```bash
2019-08-28 14:28:54 +00:00
flyingsnake Small_Example.wld Output.png
2019-08-19 18:49:56 +00:00
```
### 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.
2019-08-28 11:20:43 +00:00
It can be selected exclusively with the `--background` flag, or turned off with the `--no-background` flag.
2019-08-19 18:49:56 +00:00
2019-08-28 14:28:54 +00:00
![flyingsnake Small_Example.wld Output.png --background](https://i.imgur.com/69qRLZX.png)
2019-08-19 18:49:56 +00:00
#### Walls
The walls layer contains the colors of the walls present in the world.
2019-08-28 11:20:43 +00:00
It can be selected exclusively with the `--walls` flag, or turned off with the `--no-walls` flag.
2019-08-19 18:49:56 +00:00
2019-08-28 12:03:33 +00:00
If the walls are painted, they will be colored with the paint color.
2019-08-28 15:53:45 +00:00
You can turn off paint colors with the `--no-paints` option.
2019-08-28 12:03:33 +00:00
2019-08-28 14:28:54 +00:00
![flyingsnake Small_Example.wld Output.png --walls](https://i.imgur.com/Grkq5PQ.png)
2019-08-19 18:49:56 +00:00
#### Liquids
The liquids layer contains the colors of the liquids present in the world (water, lava, honey...)
2019-08-28 11:20:43 +00:00
It can be selected exclusively with the `--liquids` flag, or turned off with the `--no-liquids` flag.
2019-08-19 18:49:56 +00:00
2019-08-28 14:28:54 +00:00
![flyingsnake Small_Example.wld Output.png --liquids](https://i.imgur.com/Pifjb4D.png)
2019-08-19 18:49:56 +00:00
#### Blocks
The blocks layer contains the colors of the blocks present in the world.
2019-08-28 11:20:43 +00:00
It can be selected exclusively with the `--blocks` flag, or turned off with the `--no-blocks` flag.
2019-08-19 18:49:56 +00:00
2019-08-28 12:03:33 +00:00
If the blocks are painted, they will be colored with the paint color.
2019-08-28 15:53:45 +00:00
You can turn off paint colors with the `--no-paints` option.
2019-08-28 12:03:33 +00:00
2019-08-28 14:28:54 +00:00
![flyingsnake Small_Example.wld Output.png --blocks](https://i.imgur.com/E05kgOA.png)
2019-08-19 18:49:56 +00:00
#### Wires
The wires layer is a semi-transparent overlay of the wires present in the world.
2019-08-28 11:20:43 +00:00
It can be selected exclusively with the `--wires` flag, or turned off with the `--no-wires` flag.
2019-08-19 18:49:56 +00:00
2019-08-28 14:28:54 +00:00
![flyingsnake Small_Example.wld Output.png --wires](https://i.imgur.com/XDLRCAE.png)
2019-08-19 18:49:56 +00:00
### Custom colors
2019-08-28 15:53:45 +00:00
By default, `flyingsnake` uses the colors defined in the [TEdit settings file](https://github.com/TEdit/Terraria-Map-Editor/blob/master/TEditXna/settings.xml).
2019-08-19 18:49:56 +00:00
2019-08-28 15:53:45 +00:00
However, you can use different colors by passing the `--colors colors.json` option to the command.
2019-08-19 18:49:56 +00:00
2019-08-28 15:53:45 +00:00
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.
2019-08-19 18:49:56 +00:00
## License
`flyingsnake` is licensed under the [AGPL 3.0](/LICENSE.txt).
2019-08-28 15:53:45 +00:00
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.
2019-08-19 18:49:56 +00:00
## See also
2019-08-28 11:20:43 +00:00
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
2019-08-28 15:53:45 +00:00
- [TEdit](https://github.com/TEdit/Terraria-Map-Editor), the Terraria map editor from which this package gets its default colors