From c5f5db41627a3ccab4263428ef267b21e34e6571 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sun, 15 Mar 2026 21:18:57 -0500 Subject: [PATCH 1/5] Add comprehensive project README Document all three systems (power, fluid, transport), the 16 custom blocks, utility machines, guide book, requirements, installation, build instructions, and tech stack. --- README.md | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4feabaa..b4651d4 100644 --- a/README.md +++ b/README.md @@ -1 +1,106 @@ -# Initial +# Atlas + +A Minecraft server plugin that adds power generation, fluid management, and item transport systems. Built for [Paper](https://papermc.io/) 1.21+ servers using [CraftEngine](https://github.com/MoMiRealmS/CraftEngine) for custom blocks and models. + +## Features + +Atlas introduces three interconnected systems with 16 custom blocks, each with unique textures, crafting recipes, and an in-game guide book. + +### Power System + +Generators produce power, cables transfer it, batteries store it, and machines consume it. The system is **pull-based** — each block pulls power from the block behind it (opposite its facing direction). + +| Block | Description | +|-------|-------------| +| **Small Solar Panel** | Generates 1 power/minute during daytime. Requires clear sky above. | +| **Lava Generator** | Generates 5 power per lava unit consumed. Storage: 50. | +| **Power Cable** | Transfers power in one direction. Storage: 1. | +| **Multi Power Cable** | Multi-directional power transfer. Storage: 10. | +| **Power Merger** | Combines power from multiple input directions. | +| **Small Battery** | Stores up to 10 power. Visual indicator shows charge level. | + +### Fluid System + +Pumps extract fluid from cauldrons or source blocks, pipes transport it, and containers store it. Supports **water** and **lava**. Also pull-based. + +| Block | Description | +|-------|-------------| +| **Fluid Pump** | Extracts fluid from adjacent sources. Costs 1 power/operation. | +| **Fluid Pipe** | Transports fluid in one direction. Storage: 1 unit. | +| **Fluid Container** | Stores up to 10 units. Visual shows fill level and fluid type. | +| **Fluid Merger** | Combines fluid from multiple input directions. | + +### Transport System + +| Block | Description | +|-------|-------------| +| **Conveyor Belt** | Moves dropped items in its facing direction. No power required. | + +### Utility Machines + +| Block | Description | +|-------|-------------| +| **Small Drill** | Mines blocks in its facing direction. Costs 10 power/block. | +| **Auto Smelter** | Smelts items passing through it. Costs 2 power/item. | +| **Cobblestone Factory** | Generates cobblestone. | +| **Obsidian Factory** | Generates obsidian. | + +### Guide Book + +Craft a **Book** into an **Atlas Guide** — a written book with detailed information on every block and system. + +## Requirements + +- Java 21+ +- [Paper](https://papermc.io/) server 1.21+ +- [CraftEngine](https://github.com/MoMiRealmS/CraftEngine) plugin (0.0.67+) + +## Installation + +1. Download the latest Atlas JAR from [Releases](https://github.com/CoderJoeW/Atlas/releases). +2. Place it in your server's `plugins/` directory alongside CraftEngine. +3. Restart the server. Atlas will register its blocks, recipes, and resource pack assets automatically. + +## Configuration + +Atlas creates a `config.yml` in its plugin data folder with the following options: + +```yaml +logging: true # Enable or disable plugin logging +``` + +Block data is persisted automatically to JSON files and auto-saved every 5 minutes. + +## Building from Source + +```bash +git clone https://github.com/CoderJoeW/Atlas.git +cd Atlas +mvn clean package +``` + +The shaded JAR will be in `target/`. Requires Maven and Java 21+. + +### Running Tests + +```bash +mvn test +``` + +### Code Formatting + +Atlas uses [Spotless](https://github.com/diffplug/spotless) with KtLint for Kotlin and Google Java Format for Java. + +```bash +mvn spotless:check # Verify formatting +mvn spotless:apply # Auto-fix formatting +``` + +## Tech Stack + +- **Language:** Kotlin 2.3 +- **Server API:** Paper 1.21 +- **Custom Blocks:** CraftEngine +- **Build:** Maven with Shade plugin +- **Testing:** JUnit 5 + MockK +- **CI:** GitHub Actions (build, code quality, code coverage) From e4975eb777c66f32c0e17222f3d5308145b22e60 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Mon, 16 Mar 2026 01:21:45 -0500 Subject: [PATCH 2/5] Rewrite README with user-facing tone and hype Restructure to lead with value proposition and excitement rather than dry technical details. Add "Why Atlas?" section, system overviews with practical tips, and move developer docs to a dedicated section at the bottom. --- README.md | 137 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index b4651d4..92fcdcb 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,110 @@ -# Atlas +

+

Atlas

+

+ Industrial automation for Minecraft — powered by your imagination. +

+

+ Download · + Get Started · + Explore Systems +

+

-A Minecraft server plugin that adds power generation, fluid management, and item transport systems. Built for [Paper](https://papermc.io/) 1.21+ servers using [CraftEngine](https://github.com/MoMiRealmS/CraftEngine) for custom blocks and models. +--- -## Features +Ever wished vanilla Minecraft had real engineering? Atlas brings **power grids, fluid pipelines, and automated factories** to your Paper server — no mods, no client installs, just drop it in and go. -Atlas introduces three interconnected systems with 16 custom blocks, each with unique textures, crafting recipes, and an in-game guide book. +Harness solar energy, pump lava through pipelines, smelt ores automatically, and build conveyor-belt assembly lines — all with **16 custom blocks**, unique textures, crafting recipes, and a built-in guide book to teach your players everything. -### Power System +## Why Atlas? -Generators produce power, cables transfer it, batteries store it, and machines consume it. The system is **pull-based** — each block pulls power from the block behind it (opposite its facing direction). +- **Zero client mods required.** Atlas uses server-side resource packs through CraftEngine. Players join and it just works. +- **Interconnected systems.** Power, fluids, and transport are designed to work together. Pump lava, pipe it to a generator, cable the power to a drill, and conveyor-belt the drops into a smelter — all hands-free. +- **Visual feedback everywhere.** Batteries show charge level. Fluid containers show fill amount and fluid type. Cables light up when powered. You always know what your factory is doing at a glance. +- **Easy to learn, deep to master.** Craft a book into an Atlas Guide for in-game documentation on every block. Start with a single solar panel and scale up to fully automated processing lines. +- **Lightweight and reliable.** Auto-saves every 5 minutes, persists across restarts, and runs cleanly alongside your other plugins. -| Block | Description | -|-------|-------------| -| **Small Solar Panel** | Generates 1 power/minute during daytime. Requires clear sky above. | -| **Lava Generator** | Generates 5 power per lava unit consumed. Storage: 50. | -| **Power Cable** | Transfers power in one direction. Storage: 1. | -| **Multi Power Cable** | Multi-directional power transfer. Storage: 10. | -| **Power Merger** | Combines power from multiple input directions. | -| **Small Battery** | Stores up to 10 power. Visual indicator shows charge level. | +## Systems Overview -### Fluid System +Atlas has three core systems that chain together to enable full automation. -Pumps extract fluid from cauldrons or source blocks, pipes transport it, and containers store it. Supports **water** and **lava**. Also pull-based. +### Power -| Block | Description | -|-------|-------------| -| **Fluid Pump** | Extracts fluid from adjacent sources. Costs 1 power/operation. | -| **Fluid Pipe** | Transports fluid in one direction. Storage: 1 unit. | -| **Fluid Container** | Stores up to 10 units. Visual shows fill level and fluid type. | +Generate, store, and transfer energy to run your machines. + +| Block | What it does | +|-------|--------------| +| **Small Solar Panel** | Generates power during the day. Free, renewable energy — just needs clear sky. | +| **Lava Generator** | Burns lava for serious power output. Feed it from your fluid pipeline. | +| **Small Battery** | Buffers power between generators and machines. Glowing charge indicator. | +| **Power Cable** | Moves power in one direction, block by block. | +| **Multi Power Cable** | Transfers power across multiple directions at once. | +| **Power Merger** | Funnels power from several sources into one output. | + +> **How it works:** The power system is pull-based. Each block pulls energy from the block behind it. Place cables in a line from generator to machine and power flows automatically. + +### Fluids + +Extract, transport, and store water and lava for use across your builds. + +| Block | What it does | +|-------|--------------| +| **Fluid Pump** | Pulls water or lava from cauldrons and source blocks. | +| **Fluid Pipe** | Carries fluid in one direction, just like a power cable. | +| **Fluid Container** | Stores up to 10 units. Visual fill indicator shows level and fluid type. | | **Fluid Merger** | Combines fluid from multiple input directions. | -### Transport System +> **Pro tip:** Pipe lava into a Lava Generator for a self-sustaining power loop. -| Block | Description | -|-------|-------------| -| **Conveyor Belt** | Moves dropped items in its facing direction. No power required. | +### Transport & Automation -### Utility Machines +Move items around your world and process them automatically. -| Block | Description | -|-------|-------------| -| **Small Drill** | Mines blocks in its facing direction. Costs 10 power/block. | -| **Auto Smelter** | Smelts items passing through it. Costs 2 power/item. | -| **Cobblestone Factory** | Generates cobblestone. | -| **Obsidian Factory** | Generates obsidian. | +| Block | What it does | +|-------|--------------| +| **Conveyor Belt** | Pushes dropped items in its facing direction. No power needed. | +| **Small Drill** | Mines blocks ahead of it. Point it at stone and watch it dig. | +| **Auto Smelter** | Smelts items that pass through it on a conveyor belt. | +| **Cobblestone Factory** | Produces cobblestone on demand. | +| **Obsidian Factory** | Produces obsidian on demand. | -### Guide Book +> **Build this:** Drill → Conveyor Belt → Auto Smelter. Fully automated ore processing with zero player input. -Craft a **Book** into an **Atlas Guide** — a written book with detailed information on every block and system. +### In-Game Guide Book -## Requirements +Craft a **Book** into an **Atlas Guide** to get a full illustrated manual covering every block, every system, and tips for building efficient factories. No wiki-diving required. + +## Getting Started + +### Requirements -- Java 21+ - [Paper](https://papermc.io/) server 1.21+ - [CraftEngine](https://github.com/MoMiRealmS/CraftEngine) plugin (0.0.67+) +- Java 21+ -## Installation +### Installation 1. Download the latest Atlas JAR from [Releases](https://github.com/CoderJoeW/Atlas/releases). -2. Place it in your server's `plugins/` directory alongside CraftEngine. -3. Restart the server. Atlas will register its blocks, recipes, and resource pack assets automatically. +2. Drop it into your server's `plugins/` folder alongside CraftEngine. +3. Restart the server — blocks, recipes, and resource pack assets register automatically. -## Configuration +That's it. Your players can start crafting Atlas blocks immediately. -Atlas creates a `config.yml` in its plugin data folder with the following options: +### Configuration + +Atlas creates a `config.yml` in its plugin data folder: ```yaml -logging: true # Enable or disable plugin logging +logging: true # Toggle plugin logging ``` -Block data is persisted automatically to JSON files and auto-saved every 5 minutes. +Block data is auto-saved to JSON every 5 minutes and persists across restarts. + +--- + +## For Developers -## Building from Source +### Building from Source ```bash git clone https://github.com/CoderJoeW/Atlas.git @@ -96,11 +129,13 @@ mvn spotless:check # Verify formatting mvn spotless:apply # Auto-fix formatting ``` -## Tech Stack +### Tech Stack -- **Language:** Kotlin 2.3 -- **Server API:** Paper 1.21 -- **Custom Blocks:** CraftEngine -- **Build:** Maven with Shade plugin -- **Testing:** JUnit 5 + MockK -- **CI:** GitHub Actions (build, code quality, code coverage) +| | | +|---|---| +| **Language** | Kotlin 2.3 | +| **Server API** | Paper 1.21 | +| **Custom Blocks** | CraftEngine | +| **Build** | Maven with Shade plugin | +| **Testing** | JUnit 5 + MockK | +| **CI** | GitHub Actions (build, code quality, coverage) | From ff7a87a4d52095632eb88c0d2d7f6eb9b4d2dbca Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Mon, 16 Mar 2026 01:26:34 -0500 Subject: [PATCH 3/5] Add vanilla integration messaging and texture editor section Emphasize that Atlas feels like a natural extension of vanilla Minecraft. Add a full section showcasing the custom-built desktop texture editor with its features and usage instructions. --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 92fcdcb..530f8ec 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ Ever wished vanilla Minecraft had real engineering? Atlas brings **power grids, Harness solar energy, pump lava through pipelines, smelt ores automatically, and build conveyor-belt assembly lines — all with **16 custom blocks**, unique textures, crafting recipes, and a built-in guide book to teach your players everything. +Atlas is designed to feel like a natural extension of vanilla Minecraft, not a separate system bolted on top. Every block is crafted from vanilla materials, follows vanilla placement and breaking mechanics, and blends seamlessly with the look and feel of the base game. It's the industrial update Minecraft never got. + ## Why Atlas? - **Zero client mods required.** Atlas uses server-side resource packs through CraftEngine. Players join and it just works. @@ -102,6 +104,30 @@ Block data is auto-saved to JSON every 5 minutes and persists across restarts. --- +## Texture Editor + +Atlas ships with a **custom-built desktop texture editor** purpose-made for creating block textures. No need to juggle Photoshop or Aseprite — this editor understands Minecraft blocks natively. + +**Built for blocks, not generic images.** Load any Atlas block by ID and edit all six faces at once with a real-time 3D preview showing exactly how your texture will look in-game. Switch between block states and variants without leaving the editor. + +**Features:** +- **Layer system** — multiple layers per face with opacity, visibility, and merge controls +- **Shape tools** — brush, line, rectangle, ellipse, gradient, flood fill, and eyedropper +- **Symmetry modes** — mirror your strokes horizontally, vertically, or across all four quadrants for perfectly balanced textures +- **Reference overlay** — load any image as a semi-transparent tracing guide +- **3D preview** — real-time OpenGL cube preview with your textures applied, plus a tiling preview to catch seam issues +- **100-level undo** — delta-compressed history so you can experiment freely +- **Keyboard-driven workflow** — hotkeys for every tool, face, and action + +**Launch it:** +```bash +python3 tools/texture-editor/main.py --block fluid_pump +``` + +Requires Python 3 with PyQt6, PyOpenGL, Pillow, PyYAML, and numpy (see `tools/texture-editor/requirements.txt`). + +--- + ## For Developers ### Building from Source From fc917ab2c8f5127adc128fd088f568408f4c6037 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Mon, 16 Mar 2026 01:39:10 -0500 Subject: [PATCH 4/5] Update README to simplify texture editor launch command --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 530f8ec..fb10719 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ Atlas ships with a **custom-built desktop texture editor** purpose-made for crea **Launch it:** ```bash -python3 tools/texture-editor/main.py --block fluid_pump +python3 tools/texture-editor/main.py ``` Requires Python 3 with PyQt6, PyOpenGL, Pillow, PyYAML, and numpy (see `tools/texture-editor/requirements.txt`). From fdbf74c97b80274a12424aac5f18490143d664f7 Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Mon, 16 Mar 2026 01:50:31 -0500 Subject: [PATCH 5/5] Restyle README with badges, collapsible sections, and cleaner layout --- README.md | 189 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 122 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index fb10719..5d14e56 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,47 @@

-

Atlas

-

- Industrial automation for Minecraft — powered by your imagination. -

-

- Download · - Get Started · - Explore Systems -

+ Minecraft 1.21+ + Paper + Java 21+ + No Client Mods + Latest Release +

+ +

Atlas

+ +

+ The industrial update Minecraft never got.
+ Power grids. Fluid pipelines. Automated factories. Zero client mods. +

+ +

+ Download  •  + Get Started  •  + Explore Systems

--- -Ever wished vanilla Minecraft had real engineering? Atlas brings **power grids, fluid pipelines, and automated factories** to your Paper server — no mods, no client installs, just drop it in and go. +## What is Atlas? -Harness solar energy, pump lava through pipelines, smelt ores automatically, and build conveyor-belt assembly lines — all with **16 custom blocks**, unique textures, crafting recipes, and a built-in guide book to teach your players everything. +Ever wished vanilla Minecraft had *real* engineering? Atlas brings **power grids, fluid pipelines, and automated factories** to your Paper server — no mods, no client installs, just drop it in and go. -Atlas is designed to feel like a natural extension of vanilla Minecraft, not a separate system bolted on top. Every block is crafted from vanilla materials, follows vanilla placement and breaking mechanics, and blends seamlessly with the look and feel of the base game. It's the industrial update Minecraft never got. +Harness solar energy. Pump lava through pipelines. Smelt ores automatically. Build conveyor-belt assembly lines. All with **16 custom blocks**, unique textures, crafting recipes, and a built-in guide book that teaches your players everything. + +Every block is crafted from vanilla materials, follows vanilla placement and breaking mechanics, and blends seamlessly with the base game. If Mojang made an industrial update, it would feel like this. + +--- ## Why Atlas? -- **Zero client mods required.** Atlas uses server-side resource packs through CraftEngine. Players join and it just works. -- **Interconnected systems.** Power, fluids, and transport are designed to work together. Pump lava, pipe it to a generator, cable the power to a drill, and conveyor-belt the drops into a smelter — all hands-free. -- **Visual feedback everywhere.** Batteries show charge level. Fluid containers show fill amount and fluid type. Cables light up when powered. You always know what your factory is doing at a glance. -- **Easy to learn, deep to master.** Craft a book into an Atlas Guide for in-game documentation on every block. Start with a single solar panel and scale up to fully automated processing lines. -- **Lightweight and reliable.** Auto-saves every 5 minutes, persists across restarts, and runs cleanly alongside your other plugins. +| | | +|:---:|---| +| **Zero Client Mods** | Server-side resource packs through CraftEngine. Players join and it just works. | +| **Interconnected Systems** | Pump lava, pipe it to a generator, cable the power to a drill, conveyor-belt the drops into a smelter — all hands-free. | +| **Visual Feedback** | Batteries show charge level. Containers show fill amount. Cables light up when powered. Know what your factory is doing at a glance. | +| **Easy to Learn** | Craft a book into an Atlas Guide for full in-game documentation. Start with one solar panel and scale to full automation. | +| **Lightweight** | Auto-saves every 5 minutes, persists across restarts, runs cleanly alongside your other plugins. | + +--- ## Systems Overview @@ -32,65 +49,81 @@ Atlas has three core systems that chain together to enable full automation. ### Power -Generate, store, and transfer energy to run your machines. +> Generate, store, and transfer energy to run your machines. -| Block | What it does | -|-------|--------------| -| **Small Solar Panel** | Generates power during the day. Free, renewable energy — just needs clear sky. | -| **Lava Generator** | Burns lava for serious power output. Feed it from your fluid pipeline. | -| **Small Battery** | Buffers power between generators and machines. Glowing charge indicator. | -| **Power Cable** | Moves power in one direction, block by block. | -| **Multi Power Cable** | Transfers power across multiple directions at once. | -| **Power Merger** | Funnels power from several sources into one output. | +| Block | Role | +|:------|:-----| +| **Small Solar Panel** | Free, renewable energy — just needs clear sky | +| **Lava Generator** | Burns lava for serious output. Feed it from your fluid pipeline | +| **Small Battery** | Buffers power between generators and machines. Glowing charge indicator | +| **Power Cable** | Moves power in one direction, block by block | +| **Multi Power Cable** | Transfers power across multiple directions at once | +| **Power Merger** | Funnels power from several sources into one output | -> **How it works:** The power system is pull-based. Each block pulls energy from the block behind it. Place cables in a line from generator to machine and power flows automatically. +
+How does power flow? +
+The power system is pull-based. Each block pulls energy from the block behind it. Place cables in a line from generator to machine and power flows automatically — no configuration needed. +
+ +--- ### Fluids -Extract, transport, and store water and lava for use across your builds. +> Extract, transport, and store water and lava for use across your builds. -| Block | What it does | -|-------|--------------| -| **Fluid Pump** | Pulls water or lava from cauldrons and source blocks. | -| **Fluid Pipe** | Carries fluid in one direction, just like a power cable. | -| **Fluid Container** | Stores up to 10 units. Visual fill indicator shows level and fluid type. | -| **Fluid Merger** | Combines fluid from multiple input directions. | +| Block | Role | +|:------|:-----| +| **Fluid Pump** | Pulls water or lava from cauldrons and source blocks | +| **Fluid Pipe** | Carries fluid in one direction, just like a power cable | +| **Fluid Container** | Stores up to 10 units. Visual fill indicator shows level and fluid type | +| **Fluid Merger** | Combines fluid from multiple input directions | > **Pro tip:** Pipe lava into a Lava Generator for a self-sustaining power loop. +--- + ### Transport & Automation -Move items around your world and process them automatically. +> Move items around your world and process them automatically. -| Block | What it does | -|-------|--------------| -| **Conveyor Belt** | Pushes dropped items in its facing direction. No power needed. | -| **Small Drill** | Mines blocks ahead of it. Point it at stone and watch it dig. | -| **Auto Smelter** | Smelts items that pass through it on a conveyor belt. | -| **Cobblestone Factory** | Produces cobblestone on demand. | -| **Obsidian Factory** | Produces obsidian on demand. | +| Block | Role | +|:------|:-----| +| **Conveyor Belt** | Pushes dropped items in its facing direction. No power needed | +| **Small Drill** | Mines blocks ahead of it. Point it at stone and watch it dig | +| **Auto Smelter** | Smelts items that pass through on a conveyor belt | +| **Cobblestone Factory** | Produces cobblestone on demand | +| **Obsidian Factory** | Produces obsidian on demand | -> **Build this:** Drill → Conveyor Belt → Auto Smelter. Fully automated ore processing with zero player input. +> **Try this:** `Drill` -> `Conveyor Belt` -> `Auto Smelter` = fully automated ore processing with zero player input. -### In-Game Guide Book +--- + +### Atlas Guide Book -Craft a **Book** into an **Atlas Guide** to get a full illustrated manual covering every block, every system, and tips for building efficient factories. No wiki-diving required. +Craft a **Book** into an **Atlas Guide** to get a full illustrated manual covering every block, every system, and tips for building efficient factories. Everything you need to know, right in your inventory. + +--- ## Getting Started ### Requirements -- [Paper](https://papermc.io/) server 1.21+ -- [CraftEngine](https://github.com/MoMiRealmS/CraftEngine) plugin (0.0.67+) -- Java 21+ +| Dependency | Version | +|:-----------|:--------| +| [Paper](https://papermc.io/) | 1.21+ | +| [CraftEngine](https://github.com/MoMiRealmS/CraftEngine) | 0.0.67+ | +| Java | 21+ | ### Installation -1. Download the latest Atlas JAR from [Releases](https://github.com/CoderJoeW/Atlas/releases). -2. Drop it into your server's `plugins/` folder alongside CraftEngine. -3. Restart the server — blocks, recipes, and resource pack assets register automatically. +``` +1. Download the latest Atlas JAR from Releases. +2. Drop it into your server's plugins/ folder alongside CraftEngine. +3. Restart the server. +``` -That's it. Your players can start crafting Atlas blocks immediately. +That's it. Blocks, recipes, and resource pack assets register automatically. Your players can start crafting immediately. ### Configuration @@ -108,29 +141,37 @@ Block data is auto-saved to JSON every 5 minutes and persists across restarts. Atlas ships with a **custom-built desktop texture editor** purpose-made for creating block textures. No need to juggle Photoshop or Aseprite — this editor understands Minecraft blocks natively. -**Built for blocks, not generic images.** Load any Atlas block by ID and edit all six faces at once with a real-time 3D preview showing exactly how your texture will look in-game. Switch between block states and variants without leaving the editor. +Load any Atlas block by ID and edit all six faces at once with a real-time 3D preview showing exactly how your texture will look in-game. Switch between block states and variants without leaving the editor. + +
+Feature list +
+ +| Feature | Description | +|:--------|:------------| +| **Layer system** | Multiple layers per face with opacity, visibility, and merge controls | +| **Shape tools** | Brush, line, rectangle, ellipse, gradient, flood fill, and eyedropper | +| **Symmetry modes** | Mirror strokes horizontally, vertically, or across all four quadrants | +| **Reference overlay** | Load any image as a semi-transparent tracing guide | +| **3D preview** | Real-time OpenGL cube preview with tiling preview to catch seam issues | +| **100-level undo** | Delta-compressed history so you can experiment freely | +| **Keyboard-driven** | Hotkeys for every tool, face, and action | -**Features:** -- **Layer system** — multiple layers per face with opacity, visibility, and merge controls -- **Shape tools** — brush, line, rectangle, ellipse, gradient, flood fill, and eyedropper -- **Symmetry modes** — mirror your strokes horizontally, vertically, or across all four quadrants for perfectly balanced textures -- **Reference overlay** — load any image as a semi-transparent tracing guide -- **3D preview** — real-time OpenGL cube preview with your textures applied, plus a tiling preview to catch seam issues -- **100-level undo** — delta-compressed history so you can experiment freely -- **Keyboard-driven workflow** — hotkeys for every tool, face, and action +
**Launch it:** ```bash python3 tools/texture-editor/main.py ``` -Requires Python 3 with PyQt6, PyOpenGL, Pillow, PyYAML, and numpy (see `tools/texture-editor/requirements.txt`). +> Requires Python 3 with PyQt6, PyOpenGL, Pillow, PyYAML, and numpy (see `tools/texture-editor/requirements.txt`). --- ## For Developers -### Building from Source +
+Building from Source ```bash git clone https://github.com/CoderJoeW/Atlas.git @@ -140,13 +181,19 @@ mvn clean package The shaded JAR will be in `target/`. Requires Maven and Java 21+. -### Running Tests +
+ +
+Running Tests ```bash mvn test ``` -### Code Formatting +
+ +
+Code Formatting Atlas uses [Spotless](https://github.com/diffplug/spotless) with KtLint for Kotlin and Google Java Format for Java. @@ -155,13 +202,21 @@ mvn spotless:check # Verify formatting mvn spotless:apply # Auto-fix formatting ``` +
+ ### Tech Stack | | | -|---|---| +|:---|:---| | **Language** | Kotlin 2.3 | | **Server API** | Paper 1.21 | | **Custom Blocks** | CraftEngine | | **Build** | Maven with Shade plugin | | **Testing** | JUnit 5 + MockK | -| **CI** | GitHub Actions (build, code quality, coverage) | +| **CI** | GitHub Actions | + +--- + +

+ Built for builders. Powered by redstone-level obsession. +