Skip to content

ksoichiro/ChronoDawn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,558 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Chrono Dawn

Time-manipulation themed dimension mod for Minecraft

A multi-loader Minecraft mod that adds a mysterious time-themed dimension called "Chrono Dawn" with custom portals, unique biomes, powerful bosses, and time-manipulating artifacts.

Chrono Dawn Overview

More screenshots available on CurseForge and Modrinth

⚠️ Save compatibility (v0.2.0 β†’ v0.3.0+ breaking change)

Worlds created in v0.2.0 or earlier are NOT compatible with v0.3.0+ (including the current release).

Breaking changes were introduced in v0.3.0:

  • Portal System Rewrite: Pre-v0.3.0 portals will not function. You must break and rebuild them using Time Hourglass.
  • Save Data Changes: Boss defeat progress tracked by the legacy Eye of Chronos format may be reset.

Recommendation: Back up your world before updating, or start a new world. No further breaking changes have been introduced since v0.3.0.

See CHANGELOG.md for detailed information.

Features

Core Mechanics

  • Custom Dimension: Explore Chrono Dawn, a dimension frozen in perpetual twilight
  • Portal System: One-way portal travel using Time Hourglass, upgradeable to bidirectional with Portal Stabilizer
  • Time Distortion: Hostile mobs move slower in Chrono Dawn dimension
  • 11 Unique Biomes: Forest, Plains, Desert, Mountain, Ocean, Snowy, Swamp, Dark Forest, Ancient Forest, Prairies, and Faded Plains

Content

  • Custom Wood Types: Time Wood, Dark Time Wood, and Ancient Time Wood β€” each with a full block set (logs, planks, stairs, slabs, doors, trapdoors, fences, buttons, pressure plates, saplings). Tall tree variants now generate as 2Γ—2 mega trunks.
  • Major Structures:
    • Ancient Ruins (Overworld spawn)
    • Forgotten Library (Chrono Dawn)
    • Desert Clock Tower (Time Guardian mini-boss; source of Enhanced Clockstone)
    • Guardian Vault (Chronos Warden boss)
    • Clockwork Depths (Clockwork Colossus boss)
    • Phantom Catacombs (Temporal Phantom boss)
    • Entropy Crypt (Entropy Keeper boss)
    • Master Clock (final dungeon with Time Tyrant boss)
  • Small Ambient Structures (scattered across Chrono Dawn biomes): Watchmaker's Camp (chest loot), Hourglass Monolith, Old Sundial, Petrified Adventurer (with snowy variant), Time Cairn, Time Well, and Upside-Down Tree
  • Friendly Mobs in Chrono Dawn: Chrono Bovine (cow-equivalent; drops Chrono Bovine Meat), Chrono Ursid (polar-bear-equivalent), Temporal Caprid (goat-equivalent)
  • Cave Decoration: Temporal Stalactites and Temporal Stalagmites with tip + frustum variants, enhanced fall damage on tips, and cascading column breaks
  • Aquatic Plants (Chrono Dawn ocean/swamp): Temporal Kelp, Temporal Seagrass + Tall variant, Lumen Polyp (underwater light source), and Dawn / Dusk / Twilight / Eternal Chrono Coral
  • Lighting Blocks: Time Torches (Orange / Pink / Purple) crafted from Time Blossoms, and Temporal / Dawn / Dusk Lanterns
  • Faded Plains Biome Content: Faded Temporal Grass, Parched Temporal Dirt, and Temporal Dead Bush surface flora for the new dry biome
  • Boss Enemies:
    • Time Guardian (mini-boss, drops Master Clock Key)
    • Chronos Warden (mid-boss, drops Guardian Stone)
    • Clockwork Colossus (mid-boss, drops Colossus Gear)
    • Temporal Phantom (mid-boss, drops Phantom Essence)
    • Entropy Keeper (mid-boss, drops Entropy Core)
    • Time Tyrant (final boss, drops Fragments of Stasis Core)
  • Ultimate Artifacts:
    • Chronoblade (sword) β€” chance to skip the next enemy attack
    • Time Tyrant's Mail (chestplate) β€” chance to rewind time on fatal damage
    • Echoing Time Boots β€” spawn a decoy afterimage when sprinting
    • Unstable Pocket Watch β€” swap speed effects with enemies
    • Chrono Aegis β€” right-click activated buff artifact (10-minute anti-Time-Tyrant buff for the wielder and nearby allies)
  • ChronoDawn Custom Shields: Three tiered shields (Clockstone β†’ Enhanced Clockstone β†’ Entropy Crystal) with cumulative time-themed effects (passive debuff shortening, faster raise on 1.21.5+, Speed on block at T2+, Time Echo auto-block at T3)
  • Chronicle of Chrono Dawn: In-game guidebook auto-given when entering the dimension, covering biomes, structures, bosses, items, and progression
  • Configurable: Tune select gameplay values via config/chronodawn.toml β€” currently Ancient Ruins generation (spacing, separation, salt) and per-ore generation tuning for Time Crystal, Entropy Crystal, Temporal Amber, and Clockstone (enabled, count, y_min, y_max). See docs/configuration.md. Modpack creators see docs/modpack-integration.md.

Technical Features

  • Multi-Loader Architecture: Supports both Fabric and NeoForge loaders
  • Architectury Framework: Shared common code (80%) with loader-specific implementations (20%)
  • Custom Portal System: Advanced portal mechanics with independent implementation
  • Performance Optimized: Efficient entity tick handling and caching systems

Requirements

For Players

  • Minecraft: Java Edition 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, or 1.21.11
  • Mod Loader (version depends on Minecraft version):
    • For 1.21.1: Fabric Loader 0.17.3+ with Fabric API 0.116.7+, OR NeoForge 21.1.209+
    • For 1.21.2/1.21.3: Fabric Loader 0.17.3+ with Fabric API, OR NeoForge 21.2.0-beta+/21.3.0-beta+
    • For 1.21.4: Fabric Loader 0.17.3+ with Fabric API 0.110.5+, OR NeoForge 21.4.0-beta+
    • For 1.21.5: Fabric Loader 0.17.3+ with Fabric API 0.121.0+, OR NeoForge 21.5.96+
    • For 1.21.6: Fabric Loader 0.17.3+ with Fabric API 0.128.2+, OR NeoForge 21.6.20-beta+
    • For 1.21.7: Fabric Loader 0.17.3+ with Fabric API 0.129.0+, OR NeoForge 21.7.25-beta+
    • For 1.21.8: Fabric Loader 0.17.3+ with Fabric API 0.129.0+, OR NeoForge 21.8.0-beta+
    • For 1.21.9: Fabric Loader 0.17.3+ with Fabric API 0.134.1+, OR NeoForge 21.9.16-beta+
    • For 1.21.10: Fabric Loader 0.17.3+ with Fabric API 0.138.4+, OR NeoForge 21.10.64+
    • For 1.21.11: Fabric Loader 0.17.3+ with Fabric API 0.141.3+, OR NeoForge 21.11.38-beta+
  • Dependencies:
    • Architectury API 13.0.8+ (for 1.21.1), 14.0.4+ (for 1.21.2/1.21.3), 15.0.1+ (for 1.21.4), 16.1.4+ (for 1.21.5), 17.0.6+ (for 1.21.6), 17.0.8+ (for 1.21.7/1.21.8), 18.0.3+ (for 1.21.9), 18.0.8+ (for 1.21.10), or 19.0.1+ (for 1.21.11)

For Developers

  • Java Development Kit (JDK): 21 or higher
  • IDE: IntelliJ IDEA (recommended) or Eclipse
  • Git: For version control

Building from Source

Clone Repository

git clone https://github.com/ksoichiro/ChronoDawn.git
cd ChronoDawn

Multi-Version Build Support

Chrono Dawn supports multiple Minecraft versions from the same codebase:

  • 1.20.1: Fabric only (legacy support) - NeoForge requires Minecraft 1.20.5+
  • 1.21.1: NeoForge/Fabric (stable)
  • 1.21.2: NeoForge/Fabric (stable)
  • 1.21.3: NeoForge/Fabric (uses 1.21.2 modules - hotfix release)
  • 1.21.4: NeoForge/Fabric (stable)
  • 1.21.5: NeoForge/Fabric (stable)
  • 1.21.6: NeoForge/Fabric (stable)
  • 1.21.7: NeoForge/Fabric (stable)
  • 1.21.8: NeoForge/Fabric (stable)
  • 1.21.9: NeoForge/Fabric (stable)
  • 1.21.10: NeoForge/Fabric (stable)
  • 1.21.11: NeoForge/Fabric (current version, default)

Build for Specific Minecraft Version

Build for Minecraft 1.21.11 (Default)

# Shortcut command (recommended)
./gradlew build1_21_11

# Or explicit version
./gradlew build -Ptarget_mc_version=1.21.11

Build for Minecraft 1.21.8

./gradlew build1_21_8

Build for Minecraft 1.21.7

./gradlew build1_21_7

Build for Minecraft 1.21.6

./gradlew build1_21_6

Build for Minecraft 1.21.2

# Shortcut command (recommended)
./gradlew build1_21_2

# Or explicit version
./gradlew build -Ptarget_mc_version=1.21.2

Build for Minecraft 1.21.1

# Shortcut command (recommended)
./gradlew build1_21_1

# Or explicit version
./gradlew build -Ptarget_mc_version=1.21.1

Build for Minecraft 1.20.1

# Shortcut command (recommended)
./gradlew build1_20_1

# Or explicit version
./gradlew build -Ptarget_mc_version=1.20.1

Build for Minecraft 1.21.3

# Shortcut command (recommended)
./gradlew build1_21_3

# Or explicit version
./gradlew build -Ptarget_mc_version=1.21.3

Note: 1.21.3 is a hotfix release that uses the same modules as 1.21.2.

Build for Minecraft 1.21.4

# Shortcut command (recommended)
./gradlew build1_21_4

# Or explicit version
./gradlew build -Ptarget_mc_version=1.21.4

Build for Minecraft 1.21.5

# Shortcut command (recommended)
./gradlew build1_21_5

# Or explicit version
./gradlew build -Ptarget_mc_version=1.21.5

Build for All Versions (Release)

# Build all release versions (1.20.1, 1.21.1, 1.21.2, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11)
# Note: 1.21.3 is excluded - the 1.21.2 JAR is compatible with 1.21.3
./gradlew buildAll

# Full release pipeline (cleanAll β†’ buildAll β†’ collectJars)
# JARs are collected into build/release/
./gradlew release

Output Files (example for 1.21.2):

  • fabric/1.21.2/build/libs/chronodawn-0.8.0+1.21.2-fabric.jar - Fabric loader JAR
  • neoforge/1.21.2/build/libs/chronodawn-0.8.0+1.21.2-neoforge.jar - NeoForge loader JAR

Build Specific Loader

Fabric Only

./gradlew :fabric:build -Ptarget_mc_version=1.21.2

NeoForge Only

./gradlew :neoforge:build -Ptarget_mc_version=1.21.2

Development Setup

Step 1: Import Project to IDE

IntelliJ IDEA (Recommended)

  1. Open IntelliJ IDEA
  2. File β†’ Open β†’ Select build.gradle in project root
  3. Choose "Open as Project"
  4. Wait for Gradle sync to complete

Eclipse

  1. Open Eclipse
  2. File β†’ Import β†’ Existing Gradle Project
  3. Select project root directory
  4. Click Finish

Step 2: Run in Development Environment

Fabric Development Client

# Windows
gradlew.bat :fabric:runClient

# macOS/Linux
./gradlew :fabric:runClient

NeoForge Development Client

# Windows
gradlew.bat :neoforge:runClient

# macOS/Linux
./gradlew :neoforge:runClient

Development Server

# Fabric
./gradlew :fabric:runServer

# NeoForge
./gradlew :neoforge:runServer

Step 3: Verify Setup

Launch the development client and verify:

  • Minecraft starts successfully
  • "Chrono Dawn" appears in mod list
  • Creative inventory includes Chrono Dawn items
  • World generation includes Ancient Ruins structures

Testing

Run All Tests

# Windows
gradlew.bat test

# macOS/Linux
./gradlew test

Run Loader-Specific Tests

# Fabric tests
./gradlew :fabric:test

# NeoForge tests
./gradlew :neoforge:test

Manual Testing Checklist

  1. Portal System:

    • Find Ancient Ruins in Overworld
    • Craft Time Hourglass
    • Activate portal and travel to Chrono Dawn
    • Verify portal is one-way (stops working after entry)
  2. Dimension Features:

    • Explore different biomes (Forest, Desert, Mountain, etc.)
    • Verify hostile mobs have Slowness IV effect
    • Find Forgotten Library structure
  3. Portal Stabilizer:

    • Craft Portal Stabilizer in Chrono Dawn
    • Stabilize portal for bidirectional travel
    • Test round-trip travel Overworld ↔ Chrono Dawn
  4. Boss Battles:

    • Defeat Time Guardian mini-boss
    • Explore Phantom Catacombs and defeat Temporal Phantom
    • Locate Master Clock structure
    • Defeat Time Tyrant final boss

Installing Pre-built JAR

For Fabric (Minecraft 1.21.2)

  1. Install Minecraft 1.21.2
  2. Install Fabric Loader 0.17.3+
  3. Download and install Fabric API
  4. Download and install Architectury API 14.0.4+
  5. Copy chronodawn-0.8.0+1.21.2-fabric.jar to .minecraft/mods/ folder
  6. Launch Minecraft with Fabric profile

For NeoForge (Minecraft 1.21.2)

  1. Install Minecraft 1.21.2
  2. Install NeoForge 21.2.0-beta+
  3. Download and install Architectury API 14.0.4+
  4. Copy chronodawn-0.8.0+1.21.2-neoforge.jar to .minecraft/mods/ folder
  5. Launch Minecraft with NeoForge profile

For Minecraft 1.21.1

Use the same steps above, but with:

  • Minecraft 1.21.1
  • NeoForge 21.1.209+ or Fabric Loader 0.17.3+ with Fabric API 0.116.7+
  • Architectury API 13.0.8+
  • JAR files with +1.21.1 in the filename

For Minecraft 1.21.3

Use the same steps as 1.21.2 above. The 1.21.2 JAR files are compatible with Minecraft 1.21.3 (hotfix release).

For Minecraft 1.21.4

Use the same steps above, but with:

  • Minecraft 1.21.4
  • NeoForge 21.4.0-beta+ or Fabric Loader 0.17.3+ with Fabric API 0.110.5+
  • Architectury API 15.0.1+
  • JAR files with +1.21.4 in the filename

For Minecraft 1.21.5

Use the same steps above, but with:

  • Minecraft 1.21.5
  • NeoForge 21.5.96+ or Fabric Loader 0.17.3+ with Fabric API 0.121.0+
  • Architectury API 16.1.4+
  • JAR files with +1.21.5 in the filename

For Minecraft 1.21.6

Use the same steps above, but with:

  • Minecraft 1.21.6
  • NeoForge 21.6.20-beta+ or Fabric Loader 0.17.3+ with Fabric API 0.128.2+
  • Architectury API 17.0.6+
  • JAR files with +1.21.6 in the filename

For Minecraft 1.21.7

Use the same steps above, but with:

  • Minecraft 1.21.7
  • NeoForge 21.7.25-beta+ or Fabric Loader 0.17.3+ with Fabric API 0.129.0+
  • Architectury API 17.0.8+
  • JAR files with +1.21.7 in the filename

For Minecraft 1.21.8

Use the same steps above, but with:

  • Minecraft 1.21.8
  • NeoForge 21.8.0-beta+ or Fabric Loader 0.17.3+ with Fabric API 0.129.0+
  • Architectury API 17.0.8+
  • JAR files with +1.21.8 in the filename

For Minecraft 1.21.9

Use the same steps above, but with:

  • Minecraft 1.21.9
  • NeoForge 21.9.16-beta+ or Fabric Loader 0.17.3+ with Fabric API 0.134.1+
  • Architectury API 18.0.3+
  • JAR files with +1.21.9 in the filename

For Minecraft 1.21.10

Use the same steps above, but with:

  • Minecraft 1.21.10
  • NeoForge 21.10.64+ or Fabric Loader 0.17.3+ with Fabric API 0.138.4+
  • Architectury API 18.0.8+
  • JAR files with +1.21.10 in the filename

For Minecraft 1.21.11

Use the same steps above, but with:

  • Minecraft 1.21.11
  • NeoForge 21.11.38-beta+ or Fabric Loader 0.17.3+ with Fabric API 0.141.3+
  • Architectury API 19.0.1+
  • JAR files with +1.21.11 in the filename

Note: Download the correct version for your mod loader (Fabric or NeoForge).

Project Structure

ChronoDawn/
β”œβ”€β”€ common/
β”‚   β”œβ”€β”€ shared/                      # Shared version-agnostic sources (included via srcDir)
β”‚   β”œβ”€β”€ gametest/                    # Shared gametest sources (included via srcDir)
β”‚   β”œβ”€β”€ 1.20.1/                      # Common module for MC 1.20.1
β”‚   β”œβ”€β”€ 1.21.1/                      # Common module for MC 1.21.1
β”‚   β”œβ”€β”€ 1.21.2/                      # Common module for MC 1.21.2
β”‚   β”œβ”€β”€ 1.21.4/                      # Common module for MC 1.21.4
β”‚   β”œβ”€β”€ 1.21.5/                      # Common module for MC 1.21.5
β”‚   β”œβ”€β”€ 1.21.6/                      # Common module for MC 1.21.6
β”‚   β”œβ”€β”€ 1.21.7/                      # Common module for MC 1.21.7
β”‚   β”œβ”€β”€ 1.21.8/                      # Common module for MC 1.21.8
β”‚   β”œβ”€β”€ 1.21.9/                      # Common module for MC 1.21.9
β”‚   β”œβ”€β”€ 1.21.10/                     # Common module for MC 1.21.10
β”‚   └── 1.21.11/                     # Common module for MC 1.21.11 (~80% of code)
β”‚       β”œβ”€β”€ src/main/java/com/chronodawn/
β”‚       β”‚   β”œβ”€β”€ ChronoDawn.java      # Common entry point
β”‚       β”‚   β”œβ”€β”€ blocks/              # Custom blocks
β”‚       β”‚   β”œβ”€β”€ items/               # Custom items
β”‚       β”‚   β”œβ”€β”€ entities/            # Custom entities (bosses, mobs)
β”‚       β”‚   β”œβ”€β”€ worldgen/            # World generation features
β”‚       β”‚   └── registry/            # Registry wrappers
β”‚       └── src/main/resources/
β”‚           β”œβ”€β”€ data/chronodawn/     # Data packs (recipes, worldgen, structures)
β”‚           └── assets/chronodawn/   # Assets (textures, models, sounds)
β”œβ”€β”€ fabric/
β”‚   β”œβ”€β”€ base/                        # Shared Fabric sources
β”‚   β”œβ”€β”€ 1.20.1/                      # Fabric subproject for MC 1.20.1
β”‚   β”œβ”€β”€ 1.21.1/                      # Fabric subproject for MC 1.21.1
β”‚   β”œβ”€β”€ 1.21.2/                      # Fabric subproject for MC 1.21.2
β”‚   β”œβ”€β”€ 1.21.4/                      # Fabric subproject for MC 1.21.4
β”‚   β”œβ”€β”€ 1.21.5/                      # Fabric subproject for MC 1.21.5
β”‚   β”œβ”€β”€ 1.21.6/                      # Fabric subproject for MC 1.21.6
β”‚   β”œβ”€β”€ 1.21.7/                      # Fabric subproject for MC 1.21.7
β”‚   β”œβ”€β”€ 1.21.8/                      # Fabric subproject for MC 1.21.8
β”‚   β”œβ”€β”€ 1.21.9/                      # Fabric subproject for MC 1.21.9
β”‚   β”œβ”€β”€ 1.21.10/                     # Fabric subproject for MC 1.21.10
β”‚   └── 1.21.11/                     # Fabric subproject for MC 1.21.11
β”œβ”€β”€ neoforge/
β”‚   β”œβ”€β”€ base/                        # Shared NeoForge sources
β”‚   β”œβ”€β”€ 1.21.1/                      # NeoForge subproject for MC 1.21.1
β”‚   β”œβ”€β”€ 1.21.2/                      # NeoForge subproject for MC 1.21.2
β”‚   β”œβ”€β”€ 1.21.4/                      # NeoForge subproject for MC 1.21.4
β”‚   β”œβ”€β”€ 1.21.5/                      # NeoForge subproject for MC 1.21.5
β”‚   β”œβ”€β”€ 1.21.6/                      # NeoForge subproject for MC 1.21.6
β”‚   β”œβ”€β”€ 1.21.7/                      # NeoForge subproject for MC 1.21.7
β”‚   β”œβ”€β”€ 1.21.8/                      # NeoForge subproject for MC 1.21.8
β”‚   β”œβ”€β”€ 1.21.9/                      # NeoForge subproject for MC 1.21.9
β”‚   β”œβ”€β”€ 1.21.10/                     # NeoForge subproject for MC 1.21.10
β”‚   └── 1.21.11/                     # NeoForge subproject for MC 1.21.11
β”œβ”€β”€ specs/chrono-dawn-mod/           # Design documents
β”œβ”€β”€ build.gradle                     # Root build configuration (Groovy DSL)
β”œβ”€β”€ settings.gradle                  # Multi-module settings
└── gradle.properties                # Version configuration

Documentation

  • Feature Specification: specs/chrono-dawn-mod/spec.md
  • Implementation Plan: specs/chrono-dawn-mod/plan.md
  • Development Guide: specs/chrono-dawn-mod/quickstart.md
  • Data Model: specs/chrono-dawn-mod/data-model.md
  • Research Notes: specs/chrono-dawn-mod/research.md

Technical Notes

Build Configuration

  • Build DSL: Groovy DSL (for Architectury Loom 1.13-SNAPSHOT compatibility)
  • Mappings: Mojang mappings (official Minecraft class names like net.minecraft.core.Registry)
  • Shadow Plugin: Bundles common module into loader-specific JARs

Mixin Configuration

  • Fabric and NeoForge use separate Mixin configuration files
  • Fabric: chronodawn-fabric.mixins.json (with refMap for Intermediary mappings)
  • NeoForge: chronodawn-neoforge.mixins.json (without refMap for Mojang mappings)

See CLAUDE.md β†’ "Mixin Configuration" section for details.

Resources

Official Documentation

Community

License

This project is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0).

Copyright (C) 2025 Soichiro Kashima

See the LICENSE file for full license text.

Credits

Support

For issues, feature requests, or questions:

  • Open an issue on GitHub Issues
  • Check existing documentation in specs/chrono-dawn-mod/

Developed for Minecraft Java Edition 1.21.1 / 1.21.2 / 1.21.3 / 1.21.4 / 1.21.5 / 1.21.6 / 1.21.7 / 1.21.8 / 1.21.9 / 1.21.10 / 1.21.11

About

πŸ•°οΈ A dimension mod for Minecraft that adds Chrono Dawn, a time-themed world with custom portals, boss battles, and time-manipulating artifacts. Supports Fabric & NeoForge.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages