# cadux0/minecraft architecture

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

- Interactive diagram: https://gitdiagram.com/cadux0/minecraft
- Repository: https://github.com/cadux0/minecraft

## Overview

CaduCraft is a small libGDX desktop game prototype. The principal workflow is launching the LWJGL3 app, applying platform-specific startup handling, then creating the shared game application; the sampled game source also shows block-world, survival, inventory, and crafting behavior. These gameplay responsibilities live together in one class, so they are represented as a single component. Source excerpts are partial, so gameplay internals are not split into unsupported call relationships.

Main entry points: [`lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java`](https://github.com/cadux0/minecraft/blob/main/lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java) (Desktop Launcher), [`lwjgl3/src/main/java/com/caducraft/game/lwjgl3/StartupHelper.java`](https://github.com/cadux0/minecraft/blob/main/lwjgl3/src/main/java/com/caducraft/game/lwjgl3/StartupHelper.java) (Startup Helper), [`core/src/main/java/com/caducraft/game/CaduCraft.java`](https://github.com/cadux0/minecraft/blob/main/core/src/main/java/com/caducraft/game/CaduCraft.java) (World and Gameplay)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_desktop["Desktop Runtime"]
  node_launcher["Desktop Launcher"]
  node_startup["Startup Helper<br/>[StartupHelper.java]"]
end

subgraph group_gameplay["Game Logic"]
  node_game["World and Gameplay<br/>[CaduCraft.java]"]
end

node_player(("Player"))
node_childjvm["Child JVM"]
node_libgdx["libGDX Runtime"]

node_player -->|"starts game"| node_launcher
node_launcher -->|"checks startup"| node_startup
node_launcher -->|"creates application"| node_libgdx
node_launcher -->|"instantiates"| node_game
node_startup -->|"may spawn"| node_childjvm

click node_launcher "https://github.com/cadux0/minecraft/blob/main/lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java"
click node_startup "https://github.com/cadux0/minecraft/blob/main/lwjgl3/src/main/java/com/caducraft/game/lwjgl3/StartupHelper.java"
click node_game "https://github.com/cadux0/minecraft/blob/main/core/src/main/java/com/caducraft/game/CaduCraft.java"

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_launcher,node_startup toneBlue
class node_game toneAmber
class node_player,node_childjvm,node_libgdx toneIndigo
```

## Components

### Desktop Runtime

- [Desktop Launcher](https://github.com/cadux0/minecraft/blob/main/lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java): `lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java`
- [Startup Helper](https://github.com/cadux0/minecraft/blob/main/lwjgl3/src/main/java/com/caducraft/game/lwjgl3/StartupHelper.java): `lwjgl3/src/main/java/com/caducraft/game/lwjgl3/StartupHelper.java`

### Game Logic

- [World and Gameplay](https://github.com/cadux0/minecraft/blob/main/core/src/main/java/com/caducraft/game/CaduCraft.java): `core/src/main/java/com/caducraft/game/CaduCraft.java`

### Other components

- **Player**
- **Child JVM**
- **libGDX Runtime**

## Connections

- Player → Desktop Launcher: starts game (evidence: `README.md`)
- Desktop Launcher → Startup Helper: checks startup (evidence: `lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java`)
- Desktop Launcher → libGDX Runtime: creates application (evidence: `lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java`)
- Desktop Launcher → World and Gameplay: instantiates (evidence: `lwjgl3/src/main/java/com/caducraft/game/lwjgl3/Lwjgl3Launcher.java`)
- Startup Helper → Child JVM: may spawn (evidence: `lwjgl3/src/main/java/com/caducraft/game/lwjgl3/StartupHelper.java`)
