61 lines
2.0 KiB
Markdown
61 lines
2.0 KiB
Markdown
# Minecraft text generator
|
||
|
||
This little project is a tool that takes a string of text and generates minecraft structure that represents given text in a font of your choice. User can choose blocks to use (or define their own palette) or just use preset.
|
||
Exported structure can be in various formats, such as .schematic, .litematic or .nbt, or just .mcfunction file with setblock commands.
|
||
|
||
## Usage
|
||
|
||
### Build
|
||
|
||
```bash
|
||
cargo build --release
|
||
```
|
||
|
||
The binary is at `target/release/minecraft-text-generator`.
|
||
|
||
### Generate text
|
||
|
||
```bash
|
||
minecraft-text-generator -t "Hello World" -f path/to/font.ttf
|
||
```
|
||
|
||
Outputs `output.mcfunction` by default.
|
||
|
||
### Common flags
|
||
|
||
| Flag | Default | Description |
|
||
|------|---------|-------------|
|
||
| `-t, --text` | *(required)* | Text to generate |
|
||
| `-f, --font` | *(required)* | Path to `.ttf` font file |
|
||
| `--format` | `mcfunction` | Output format(s): `mcfunction`, `litematica`, `png`, `all` |
|
||
| `-o, --out` | `output` | Output file path (without extension) |
|
||
| `--size` | `16.0` | Text height in blocks |
|
||
| `-d, --depth` | `1` | How many blocks deep |
|
||
| `-p, --palette` | `default` | Built-in palette preset name |
|
||
| `--palette-file` | — | Path to a custom JSON palette file |
|
||
| `--shadow` | off | Add a drop shadow |
|
||
| `--shadow-x` / `--shadow-y` | `1` / `-1` | Shadow offset in blocks |
|
||
| `--outline-mode` | `8` | Outline connectivity: `4` (cardinal) or `8` (with corners) |
|
||
| `--letter-spacing` | font default | Extra blocks between characters |
|
||
| `--word-spacing` | `4` | Blocks wide for a space character |
|
||
| `--cell-size` | `16` | Pixel size per block for PNG export (8–64) |
|
||
|
||
### List available palettes
|
||
|
||
```bash
|
||
minecraft-text-generator --list-palettes
|
||
```
|
||
|
||
### Examples
|
||
|
||
```bash
|
||
# Litematica schematic with a shadow
|
||
minecraft-text-generator -t "HELLO" -f fonts/myfont.ttf --format litematica --shadow
|
||
|
||
# PNG preview at 32px per block
|
||
minecraft-text-generator -t "HELLO" -f fonts/myfont.ttf --format png --cell-size 32
|
||
|
||
# All formats at once, custom palette
|
||
minecraft-text-generator -t "HELLO" -f fonts/myfont.ttf --format all -p stone
|
||
```
|