# phantompilots/autofarming architecture

> Architecture diagram of the GitHub repository phantompilots/autofarming, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/phantompilots/autofarming
- Repository: https://github.com/phantompilots/autofarming

## Overview

AutoFarmers is a Windows desktop automation tool for farming activities in 7DS Grand Cross. The user selects a game version and farmer, configures it, and starts or monitors a run; farmer logic navigates game states and may delegate battle choices to strategies. Shared runtime services capture the game window, recognize images, and perform UI actions. The README documents broad event and dungeon coverage beyond the sampled implementations. Some links are based on README descriptions or source-index references; unsampled internals are not assumed to have been inspected.

Main entry points: [`scripts/utilities/farming_factory.py`](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/farming_factory.py) (Farming runtime), [`scripts/AutoFarmers.py`](https://github.com/phantompilots/autofarming/blob/master/scripts/AutoFarmers.py) (AutoFarmers GUI), [`scripts/utilities/floor_4_farmers.py`](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/floor_4_farmers.py) (Floor four farming), [`scripts/utilities/fighting_strategies.py`](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/fighting_strategies.py) (Battle strategies)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application and control"]
  node_gui["AutoFarmers GUI<br/>[AutoFarmers.py]"]
  node_factory["Farming runtime<br/>[farming_factory.py]"]
  node_farmer_iface["Farmer lifecycle"]
end

subgraph group_farming["Farming activities"]
  node_daily_script["Daily missions"]
  node_daily_logic["Daily flow"]
  node_beast_scripts["Beast farmer launchers"]
  node_beast_runtime["Floor four farming<br/>[floor_4_farmers.py]"]
  node_event_logic["Event farming logic"]
end

subgraph group_battle["Battle decisions"]
  node_strategy["Battle strategies"]
  node_beast_strategy["Beast strategies"]
  node_card_data["Card model<br/>[card_data.py]"]
  node_battle_ops["Card operations"]
end

subgraph group_runtime["Game interaction"]
  node_window["Window capture<br/>[capture_window.py]"]
  node_vision["Image recognition<br/>[vision.py]"]
  node_image_catalog["Game image catalog<br/>[vision_images.py]"]
  node_assets["Versioned image assets<br/>[image_assets.py]"]
  node_utilities["UI actions<br/>[utilities.py]"]
end

subgraph group_support["Configuration and reporting"]
  node_config["App configuration<br/>[app_config.py]"]
  node_rewards["Reward tracking<br/>[reward_sets.py]"]
  node_notifications["Push notifications<br/>[utilities.py]"]
end

node_player(("Player"))
node_game["7DS PC client"]
node_ntfy["ntfy service"]

node_player -->|"selects and starts"| node_gui
node_gui -->|"reads settings"| node_config
node_gui -.->|"starts farming"| node_factory
node_daily_script -->|"uses"| node_daily_logic
node_daily_script -->|"launches through"| node_factory
node_beast_scripts -->|"uses"| node_beast_runtime
node_beast_scripts -->|"launches through"| node_factory
node_factory -->|"runs"| node_farmer_iface
node_farmer_iface -->|"starts daily flow"| node_daily_logic
node_beast_runtime -->|"uses"| node_beast_strategy
node_beast_strategy -->|"extends"| node_strategy
node_strategy -->|"reads cards"| node_card_data
node_strategy -->|"calls"| node_battle_ops
node_utilities -->|"captures"| node_window
node_vision -->|"resolves images"| node_assets
node_image_catalog -->|"defines templates"| node_vision
node_utilities -->|"matches images"| node_vision
node_beast_runtime -.->|"acts on game"| node_utilities
node_factory -->|"sends alerts"| node_notifications
node_notifications -->|"posts alerts"| node_ntfy
node_gui -->|"automates client"| node_game
node_event_logic -.->|"launches through"| node_factory

click node_gui "https://github.com/phantompilots/autofarming/blob/master/scripts/AutoFarmers.py"
click node_factory "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/farming_factory.py"
click node_farmer_iface "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/general_farmer_interface.py"
click node_daily_script "https://github.com/phantompilots/autofarming/blob/master/scripts/DailyQuestsFarmer.py"
click node_daily_logic "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/daily_farming_logic.py"
click node_beast_scripts "https://github.com/phantompilots/autofarming/blob/master/scripts/BirdFloor4Farmer.py"
click node_beast_runtime "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/floor_4_farmers.py"
click node_event_logic "https://github.com/phantompilots/autofarming/tree/master/scripts/utilities"
click node_strategy "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/fighting_strategies.py"
click node_beast_strategy "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/dogs_floor4_fighting_strategies.py"
click node_card_data "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/card_data.py"
click node_battle_ops "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/battle_utilities.py"
click node_window "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/capture_window.py"
click node_vision "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/vision.py"
click node_image_catalog "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/vision_images.py"
click node_assets "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/image_assets.py"
click node_utilities "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/utilities.py"
click node_config "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/app_config.py"
click node_rewards "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/reward_sets.py"
click node_notifications "https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/utilities.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_gui,node_factory,node_farmer_iface,node_game toneBlue
class node_daily_script,node_daily_logic,node_beast_scripts,node_beast_runtime,node_event_logic toneAmber
class node_strategy,node_beast_strategy,node_card_data,node_battle_ops toneMint
class node_window,node_vision,node_image_catalog,node_assets,node_utilities toneRose
class node_config,node_rewards,node_notifications,node_player,node_ntfy toneIndigo
```

## Components

### Application and control

- [AutoFarmers GUI](https://github.com/phantompilots/autofarming/blob/master/scripts/AutoFarmers.py): `scripts/AutoFarmers.py`
- [Farming runtime](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/farming_factory.py): `scripts/utilities/farming_factory.py`
- [Farmer lifecycle](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/general_farmer_interface.py): `scripts/utilities/general_farmer_interface.py`

### Farming activities

- [Daily missions](https://github.com/phantompilots/autofarming/blob/master/scripts/DailyQuestsFarmer.py): `scripts/DailyQuestsFarmer.py`
- [Daily flow](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/daily_farming_logic.py): `scripts/utilities/daily_farming_logic.py`
- [Beast farmer launchers](https://github.com/phantompilots/autofarming/blob/master/scripts/BirdFloor4Farmer.py): `scripts/BirdFloor4Farmer.py`
- [Floor four farming](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/floor_4_farmers.py): `scripts/utilities/floor_4_farmers.py`
- [Event farming logic](https://github.com/phantompilots/autofarming/tree/master/scripts/utilities): `scripts/utilities`

### Battle decisions

- [Battle strategies](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/fighting_strategies.py): `scripts/utilities/fighting_strategies.py`
- [Beast strategies](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/dogs_floor4_fighting_strategies.py): `scripts/utilities/dogs_floor4_fighting_strategies.py`
- [Card model](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/card_data.py): `scripts/utilities/card_data.py`
- [Card operations](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/battle_utilities.py): `scripts/utilities/battle_utilities.py`

### Game interaction

- [Window capture](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/capture_window.py): `scripts/utilities/capture_window.py`
- [Image recognition](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/vision.py): `scripts/utilities/vision.py`
- [Game image catalog](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/vision_images.py): `scripts/utilities/vision_images.py`
- [Versioned image assets](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/image_assets.py): `scripts/utilities/image_assets.py`
- [UI actions](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/utilities.py): `scripts/utilities/utilities.py`

### Configuration and reporting

- [App configuration](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/app_config.py): `scripts/utilities/app_config.py`
- [Reward tracking](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/reward_sets.py): `scripts/utilities/reward_sets.py`
- [Push notifications](https://github.com/phantompilots/autofarming/blob/master/scripts/utilities/utilities.py): `scripts/utilities/utilities.py`

### Other components

- **Player**
- **7DS PC client**
- **ntfy service**

## Connections

- Player → AutoFarmers GUI: selects and starts (evidence: `README.md`)
- AutoFarmers GUI → App configuration: reads settings (evidence: `scripts/AutoFarmers.py`)
- AutoFarmers GUI → Farming runtime: starts farming
- Daily missions → Daily flow: uses (evidence: `scripts/DailyQuestsFarmer.py`)
- Daily missions → Farming runtime: launches through (evidence: `scripts/DailyQuestsFarmer.py`)
- Beast farmer launchers → Floor four farming: uses (evidence: `scripts/BirdFloor4Farmer.py`)
- Beast farmer launchers → Farming runtime: launches through (evidence: `scripts/BirdFloor4Farmer.py`)
- Farming runtime → Farmer lifecycle: runs (evidence: `scripts/utilities/farming_factory.py`)
- Farmer lifecycle → Daily flow: starts daily flow (evidence: `scripts/utilities/general_farmer_interface.py`)
- Floor four farming → Beast strategies: uses (evidence: `scripts/utilities/floor_4_farmers.py`)
- Beast strategies → Battle strategies: extends (evidence: `scripts/utilities/dogs_floor4_fighting_strategies.py`)
- Battle strategies → Card model: reads cards (evidence: `scripts/utilities/fighting_strategies.py`)
- Battle strategies → Card operations: calls (evidence: `scripts/utilities/fighting_strategies.py`)
- UI actions → Window capture: captures (evidence: `scripts/utilities/utilities.py`)
- Image recognition → Versioned image assets: resolves images (evidence: `scripts/utilities/vision.py`)
- Game image catalog → Image recognition: defines templates (evidence: `scripts/utilities/vision_images.py`)
- UI actions → Image recognition: matches images (evidence: `scripts/utilities/utilities.py`)
- Floor four farming → UI actions: acts on game (evidence: `scripts/utilities/floor_4_farmers.py`)
- Farming runtime → Push notifications: sends alerts (evidence: `scripts/utilities/farming_factory.py`)
- Push notifications → ntfy service: posts alerts (evidence: `scripts/utilities/utilities.py`)
- AutoFarmers GUI → 7DS PC client: automates client (evidence: `README.md`)
- Event farming logic → Farming runtime: launches through (evidence: `scripts/utilities/farming_factory.py`)
