# wickidcow/slimefun-legacy architecture

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

- Interactive diagram: https://gitdiagram.com/wickidcow/slimefun-legacy
- Repository: https://github.com/wickidcow/slimefun-legacy

## Overview

Slimefun Legacy is a server-side Minecraft plugin that adds modpack-style gameplay while preserving legacy worlds and addon entry points. Players interact with custom items and machines; the plugin provides automation, cargo, energy, reactors, magic, and a guide experience. Persistent block and profile data underpin gameplay, while addon compatibility and optional external integrations support server operators. The README documents gameplay breadth; sampled source supports the storage, guide, diagnostics, and compatibility details shown here, but not the wiring of every gameplay subsystem.

Main entry points: [`src/main/java/city/norain/slimefun4/SlimefunExtended.java`](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/city/norain/slimefun4/SlimefunExtended.java) (Slimefun Legacy), [`src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller`](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller) (Storage controllers), [`src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/enhanced/LegacyRecipeFillManager.java`](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/enhanced/LegacyRecipeFillManager.java) (Guide and recipe fill), [`src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter`](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter) (Storage adapters)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gameplay["Gameplay"]
  node_plugin["Slimefun Legacy"]
  node_items["Custom items"]
  node_machines["Machines and automation"]
  node_cargo["Cargo networks"]
  node_energy["Energy and reactors"]
  node_magic["Magic and exploration"]
  node_guide["Guide and recipe fill"]
end

subgraph group_persistence["Persistence"]
  node_blockstorage["BlockStorage API<br/>[BlockStorage.java]"]
  node_controllers["Storage controllers"]
  node_adapters["Storage adapters"]
  node_integrity["Storage integrity"]
end

subgraph group_platform["Platform and addons"]
  node_addonapi["Addon API"]
  node_platformapi["Platform compatibility"]
  node_external["External integrations"]
end

subgraph group_operations["Operations"]
  node_doctor["Addon and item doctor<br/>[AddonDoctor.java]"]
  node_itemdoctor["Item recovery"]
  node_storagehealth["Storage health"]
end

node_player(("Minecraft player"))
node_server(("Paper server"))
node_database[("Configured database")]
node_optionalplugins(("Optional server plugins"))

node_player -->|"plays on"| node_plugin
node_plugin -->|"provides"| node_items
node_plugin -->|"provides"| node_machines
node_plugin -->|"provides"| node_cargo
node_plugin -->|"provides"| node_energy
node_plugin -->|"provides"| node_magic
node_player -->|"uses"| node_guide
node_guide -->|"fills recipes"| node_player
node_blockstorage -->|"reads and writes"| node_controllers
node_controllers -->|"persists through"| node_adapters
node_adapters -->|"reads and writes"| node_database
node_integrity -->|"scans and repairs"| node_controllers
node_addonapi -->|"registers addons"| node_plugin
node_plugin -->|"exposes capabilities"| node_platformapi
node_external -.->|"discovers providers"| node_optionalplugins
node_plugin -.->|"manages integrations"| node_external
node_doctor -->|"reports compatibility"| node_plugin
node_itemdoctor -->|"repairs item data"| node_controllers
node_storagehealth -->|"reads health state"| node_controllers
node_plugin -->|"runs on"| node_server

click node_plugin "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/city/norain/slimefun4/SlimefunExtended.java"
click node_items "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/items"
click node_machines "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation"
click node_cargo "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation"
click node_energy "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation"
click node_magic "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation"
click node_guide "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/enhanced/LegacyRecipeFillManager.java"
click node_blockstorage "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/me/mrCookieSlime/Slimefun/api/BlockStorage.java"
click node_controllers "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller"
click node_adapters "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter"
click node_integrity "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/StorageIntegrityScanner.java"
click node_addonapi "https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/addons"
click node_platformapi "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/platform/PlatformCompatibilityService.java"
click node_external "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/compatibility/DefaultExternalIntegrationService.java"
click node_doctor "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/diagnostics/AddonDoctor.java"
click node_itemdoctor "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/stability/ItemDoctorService.java"
click node_storagehealth "https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/runtime/DefaultStorageRuntimeService.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_plugin,node_items,node_machines,node_cargo,node_energy,node_magic,node_guide toneBlue
class node_blockstorage,node_controllers,node_adapters,node_integrity,node_database toneAmber
class node_addonapi,node_platformapi,node_external,node_server,node_optionalplugins toneMint
class node_doctor,node_itemdoctor,node_storagehealth toneRose
class node_player toneIndigo
```

## Components

### Gameplay

- [Slimefun Legacy](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/city/norain/slimefun4/SlimefunExtended.java): `src/main/java/city/norain/slimefun4/SlimefunExtended.java`
- [Custom items](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/items): `src/main/java/io/github/thebusybiscuit/slimefun4/api/items`
- [Machines and automation](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation): `src/main/java/io/github/thebusybiscuit/slimefun4/implementation`
- [Cargo networks](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation): `src/main/java/io/github/thebusybiscuit/slimefun4/implementation`
- [Energy and reactors](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation): `src/main/java/io/github/thebusybiscuit/slimefun4/implementation`
- [Magic and exploration](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation): `src/main/java/io/github/thebusybiscuit/slimefun4/implementation`
- [Guide and recipe fill](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/enhanced/LegacyRecipeFillManager.java): `src/main/java/io/github/thebusybiscuit/slimefun4/implementation/guide/enhanced/LegacyRecipeFillManager.java`

### Persistence

- [BlockStorage API](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/me/mrCookieSlime/Slimefun/api/BlockStorage.java): `src/main/java/me/mrCookieSlime/Slimefun/api/BlockStorage.java`
- [Storage controllers](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller): `src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller`
- [Storage adapters](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter): `src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/adapter`
- [Storage integrity](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/StorageIntegrityScanner.java): `src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/StorageIntegrityScanner.java`

### Platform and addons

- [Addon API](https://github.com/wickidcow/slimefun-legacy/tree/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/addons): `src/main/java/io/github/thebusybiscuit/slimefun4/api/addons`
- [Platform compatibility](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/platform/PlatformCompatibilityService.java): `src/main/java/io/github/thebusybiscuit/slimefun4/api/platform/PlatformCompatibilityService.java`
- [External integrations](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/compatibility/DefaultExternalIntegrationService.java): `src/main/java/io/github/thebusybiscuit/slimefun4/core/services/compatibility/DefaultExternalIntegrationService.java`

### Operations

- [Addon and item doctor](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/api/diagnostics/AddonDoctor.java): `src/main/java/io/github/thebusybiscuit/slimefun4/api/diagnostics/AddonDoctor.java`
- [Item recovery](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/stability/ItemDoctorService.java): `src/main/java/io/github/thebusybiscuit/slimefun4/core/services/stability/ItemDoctorService.java`
- [Storage health](https://github.com/wickidcow/slimefun-legacy/blob/master/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/runtime/DefaultStorageRuntimeService.java): `src/main/java/io/github/thebusybiscuit/slimefun4/core/services/runtime/DefaultStorageRuntimeService.java`

### Other components

- **Minecraft player**
- **Paper server**
- **Configured database**
- **Optional server plugins**

## Connections

- Minecraft player → Slimefun Legacy: plays on
- Slimefun Legacy → Custom items: provides
- Slimefun Legacy → Machines and automation: provides
- Slimefun Legacy → Cargo networks: provides
- Slimefun Legacy → Energy and reactors: provides
- Slimefun Legacy → Magic and exploration: provides
- Minecraft player → Guide and recipe fill: uses
- Guide and recipe fill → Minecraft player: fills recipes
- BlockStorage API → Storage controllers: reads and writes
- Storage controllers → Storage adapters: persists through
- Storage adapters → Configured database: reads and writes
- Storage integrity → Storage controllers: scans and repairs
- Addon API → Slimefun Legacy: registers addons
- Slimefun Legacy → Platform compatibility: exposes capabilities
- External integrations → Optional server plugins: discovers providers
- Slimefun Legacy → External integrations: manages integrations
- Addon and item doctor → Slimefun Legacy: reports compatibility
- Item recovery → Storage controllers: repairs item data
- Storage health → Storage controllers: reads health state
- Slimefun Legacy → Paper server: runs on
