Skip to content

Reisenbug/Terraria-Pyramid-tools

Repository files navigation

Terraria Pyramid Toolkit

Automatically detect pyramids or generate a specified number of worlds with at least 1 pyramid in Terraria with GUI and CLI support. (I make the toolkit mainly because classic speedrun practice demands a lot of worlds with pyramid, which are hard to generate. Using this toolkit, you can easily start your sppedrun practice. But I don't think you should use it when you want to submit your run to speedrun website.)

Features

  • GUI Interface - Simple graphical interface for world generation
  • CLI Interface - Command-line tool for automation
  • Cross-Platform - Works on Windows, macOS, and Linux
  • Multiple Modes - Generate fixed count, find pyramids, or generate without detection

Quick Start

Installation

git clone https://github.com/Notori-Lab/Terraria-Pyramid-tools.git
cd pyramidDetector
pip install -r requirements.txt

GUI (Recommended)

python -m pyramid_toolkit.gui

CLI Examples

# Generate 10 worlds and detect pyramids
python -m pyramid_toolkit.cli auto-find --count 10

# Find 5 pyramid worlds
python -m pyramid_toolkit.cli find-pyramids --target 5

# See all options
python -m pyramid_toolkit.cli --help

CLI Usage

Auto-find Mode

Generate a fixed number of worlds:

python -m pyramid_toolkit.cli auto-find [OPTIONS]

Options:
  --size, -s INTEGER       World size (1=Small, 2=Medium, 3=Large) [default: 2]
  --difficulty, -d INTEGER Difficulty (1=Normal, 2=Expert, 3=Master) [default: 1]
  --evil, -e INTEGER       Evil type (1=Random, 2=Corruption, 3=Crimson) [default: 1]
  --count, -c INTEGER      Number of worlds to generate [default: 1]
  --delete/--no-delete     Delete non-pyramid worlds [default: no-delete]

Find-pyramids Mode

Generate until finding pyramid worlds:

python -m pyramid_toolkit.cli find-pyramids [OPTIONS]

Options:
  --target, -t INTEGER        Number of pyramid worlds to find [default: 1]
  --max-attempts, -m INTEGER  Maximum worlds to generate [default: 100]

Generate Mode

Generate worlds without detection:

python -m pyramid_toolkit.cli generate --count 5

Configuration

TerrariaServer Path

Set custom TerrariaServer path:

# macOS/Linux
export TERRARIA_SERVER_PATH="/path/to/TerrariaServer"

# Windows
set TERRARIA_SERVER_PATH=C:\Path\To\TerrariaServer.exe

Auto-detected Paths

macOS:

  • TerrariaServer: ~/Library/Application Support/Steam/steamapps/common/Terraria/Terraria.app/Contents/MacOS/TerrariaServer
  • Worlds: ~/Library/Application Support/Terraria/Worlds

Linux:

  • TerrariaServer: ~/.local/share/Steam/steamapps/common/Terraria/TerrariaServer.bin.x86_64
  • Worlds: ~/.local/share/Terraria/Worlds

Windows:

  • TerrariaServer: C:\Program Files (x86)\Steam\steamapps\common\Terraria\TerrariaServer.exe
  • Worlds: %USERPROFILE%\Documents\My Games\Terraria\Worlds

Building Standalone Executable

You can build a double-click launcher for the GUI:

Quick Build

macOS/Linux:

./build.sh

Windows:

build.bat

Output

  • macOS: dist/PyramidDetector.app (double-click to run)
  • Windows: dist/PyramidDetector/PyramidDetector.exe (double-click to run)
  • Linux: dist/PyramidDetector/PyramidDetector (executable)

See BUILD_INSTRUCTIONS.md for detailed build options.

Requirements

  • Python 3.6+
  • Terraria 1.4.4.9 with TerrariaServer
  • Dependencies: pip install -r requirements.txt
  • Build tools (optional): pip install pyinstaller

Project Structure

pyramid_toolkit/
├── core/          # Business logic
├── platform/      # OS-specific implementations
├── cli/           # Command-line interface
└── gui/           # Graphical interface

License

MIT License - see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors