# jona23ee/terf_datapack architecture

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

- Interactive diagram: https://gitdiagram.com/jona23ee/terf_datapack
- Repository: https://github.com/jona23ee/terf_datapack

## Overview

T.E.R.F is a vanilla Minecraft technology datapack. Players use custom tools and operate multiblock machines for material processing and power management; recipes, advancements, structures, and assets provide supporting gameplay content. The tree shows these functional areas, but sampled source does not establish detailed calls between them, so the graph avoids inferred internal pipelines. The README mentions configuration, but its stated config path is not present in the supplied tree.

Main entry points: [`data/terf/function/entity/machines`](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/machines) (Machine functions), [`data/terf/function/entity/player`](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/player) (Player and tools), [`data/terf/function/entity`](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity) (Entity functions), [`data/terf/function/entity/player/advancement`](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/player/advancement) (Advancement functions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_machines["Machines and entities"]
  node_machine_functions["Machine functions"]
  node_entity_functions["Entity functions"]
end

subgraph group_player_features["Player features"]
  node_player_functions["Player and tools"]
  node_advancement_functions["Advancement functions"]
  node_config_functions["Configuration functions"]
end

subgraph group_shared["Shared datapack library"]
  node_pipe_functions["Item transfer"]
  node_fluid_functions["Fluid transfer"]
  node_power_functions["Power transfer"]
end

subgraph group_content["Gameplay content"]
  node_recipes["Recipes"]
  node_advancements["Advancements"]
  node_structures["Structures"]
  node_worldgen["World generation"]
  node_loot["Loot tables"]
  node_resource_assets["Resource assets"]
end

node_player(("Player"))
node_minecraft(("Minecraft runtime"))

node_player -->|"uses tools"| node_player_functions
node_player -->|"operates machines"| node_machine_functions
node_minecraft -->|"runs functions"| node_machine_functions
node_minecraft -->|"runs functions"| node_entity_functions
node_minecraft -->|"runs functions"| node_player_functions
node_minecraft -->|"runs functions"| node_advancement_functions
node_minecraft -->|"runs functions"| node_config_functions
node_minecraft -->|"runs functions"| node_pipe_functions
node_minecraft -->|"runs functions"| node_fluid_functions
node_minecraft -->|"runs functions"| node_power_functions
node_minecraft -->|"loads recipes"| node_recipes
node_minecraft -->|"loads advancements"| node_advancements
node_minecraft -->|"loads structures"| node_structures
node_minecraft -->|"loads worldgen"| node_worldgen
node_minecraft -->|"loads loot"| node_loot
node_minecraft -->|"loads assets"| node_resource_assets

click node_machine_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/machines"
click node_entity_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity"
click node_player_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/player"
click node_advancement_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/player/advancement"
click node_config_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function"
click node_pipe_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/datapipes_lib/function/item_transfer"
click node_fluid_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/datapipes_lib/function/fluid_transfer"
click node_power_functions "https://github.com/jona23ee/terf_datapack/tree/main/data/datapipes_lib/function/power_transfer"
click node_recipes "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/recipe"
click node_advancements "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/advancement"
click node_structures "https://github.com/jona23ee/terf_datapack/tree/main/data/minecraft/structure"
click node_worldgen "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/worldgen"
click node_loot "https://github.com/jona23ee/terf_datapack/tree/main/data/terf/loot_table"
click node_resource_assets "https://github.com/jona23ee/terf_datapack/tree/main/assets/minecraft"

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_machine_functions,node_entity_functions toneBlue
class node_player_functions,node_advancement_functions,node_config_functions toneAmber
class node_pipe_functions,node_fluid_functions,node_power_functions toneMint
class node_recipes,node_advancements,node_structures,node_worldgen,node_loot,node_resource_assets toneRose
class node_player,node_minecraft toneIndigo
```

## Components

### Machines and entities

- [Machine functions](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/machines): `data/terf/function/entity/machines`
- [Entity functions](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity): `data/terf/function/entity`

### Player features

- [Player and tools](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/player): `data/terf/function/entity/player`
- [Advancement functions](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function/entity/player/advancement): `data/terf/function/entity/player/advancement`
- [Configuration functions](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/function): `data/terf/function`

### Shared datapack library

- [Item transfer](https://github.com/jona23ee/terf_datapack/tree/main/data/datapipes_lib/function/item_transfer): `data/datapipes_lib/function/item_transfer`
- [Fluid transfer](https://github.com/jona23ee/terf_datapack/tree/main/data/datapipes_lib/function/fluid_transfer): `data/datapipes_lib/function/fluid_transfer`
- [Power transfer](https://github.com/jona23ee/terf_datapack/tree/main/data/datapipes_lib/function/power_transfer): `data/datapipes_lib/function/power_transfer`

### Gameplay content

- [Recipes](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/recipe): `data/terf/recipe`
- [Advancements](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/advancement): `data/terf/advancement`
- [Structures](https://github.com/jona23ee/terf_datapack/tree/main/data/minecraft/structure): `data/minecraft/structure`
- [World generation](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/worldgen): `data/terf/worldgen`
- [Loot tables](https://github.com/jona23ee/terf_datapack/tree/main/data/terf/loot_table): `data/terf/loot_table`
- [Resource assets](https://github.com/jona23ee/terf_datapack/tree/main/assets/minecraft): `assets/minecraft`

### Other components

- **Player**
- **Minecraft runtime**

## Connections

- Player → Player and tools: uses tools
- Player → Machine functions: operates machines
- Minecraft runtime → Machine functions: runs functions
- Minecraft runtime → Entity functions: runs functions
- Minecraft runtime → Player and tools: runs functions
- Minecraft runtime → Advancement functions: runs functions
- Minecraft runtime → Configuration functions: runs functions
- Minecraft runtime → Item transfer: runs functions
- Minecraft runtime → Fluid transfer: runs functions
- Minecraft runtime → Power transfer: runs functions
- Minecraft runtime → Recipes: loads recipes
- Minecraft runtime → Advancements: loads advancements
- Minecraft runtime → Structures: loads structures
- Minecraft runtime → World generation: loads worldgen
- Minecraft runtime → Loot tables: loads loot
- Minecraft runtime → Resource assets: loads assets
