Repository hosting the source for Lasting Legacy modpacks, resource packs, data packs and more.
  • Go 60.8%
  • TypeScript 16.5%
  • Rust 12.1%
  • mcfunction 7.2%
  • GLSL 3.4%
Find a file
omo50 672ffb2f23
All checks were successful
Publish / detect (push) Successful in 1m1s
Build / build (push) Successful in 1m44s
Publish / publish (map[manifest:modpacks/re-console-main/manifest-experimental.json order:0 variant:<nil>]) (push) Successful in 1m21s
Publish / publish (map[manifest:modpacks/re-console-main/manifest.json order:0 variant:<nil>]) (push) Successful in 1m23s
fix
2026-06-12 21:26:41 -05:00
.forgejo fix: build 2026-06-12 21:26:19 -05:00
.github chore(ci): more fixes 2026-06-10 19:27:02 -05:00
datapacks chore: modlist 2026-06-12 01:46:56 -05:00
docs chore: modlist 2026-06-12 01:46:56 -05:00
modpacks fix 2026-06-12 21:26:41 -05:00
resourcepacks@87db99a730 chore: idk 2026-06-01 03:24:31 -05:00
src fix: publish 2026-06-12 21:08:57 -05:00
tools chore: modlist 2026-06-12 01:46:56 -05:00
.gitignore feat(docs): merge into monorepo 2026-06-02 23:57:27 -05:00
CONTRIBUTING.md chore(rc and simply): update mods 2026-04-22 19:00:05 -06:00
LICENSE Update LICENSE 2025-05-26 14:17:18 -05:00
README.md chore(ci): fix 2026-06-09 18:08:40 -05:00

Reverie Projects/monorepo

This is the repository hosting all of the different Reverie Projects modpacks, resource packs, and datapacks.

Notice

Development is (currently) held on git.nostalgica.net, Tangled, GitHub and Codeberg are mirrors. Please go to our GitHub Issues page to report any issues.

General

This repository hosts all the source and files for all of our resource packs, data packs, modpacks and documentation. This readme is primarily intended for internal developer usage.

Contributing

First, please refer to the CONTRIBUTING.md file in the repository. This will tell you some basics.

To work on the repo, please install Packwiz. It is also helpful to install Packwiz Wrapper, as it can do some batch commands. Alternatively, you may also use the WIP tool Somnus, which is detailed below.

Documentation

  • Install Node.js version 18 or higher
  • Install VitePress through NPM in a terminal
npm add -D vitepress@next
  • Start the local development server
npm run docs:dev

Any changes made in the docs segment of the repo will now automatically update locally

Modpacks

To work on modpacks, you must install Packwiz and Somnus, which are detailed below

Actions

The repository makes usage of Forgejo actions, for CI/CD and general QoL improvements to our dev process.

Current Functions

  • Auto Publish
  • Auto Update and Auto Refresh*
  • Auto Build
  • Bulk Refresh*
  • Bulk Update*
  • Bulk Loader Update*
  • Bulk PNG Optimizer
  • JSON Linter
  • TOML Linter
  • Modpack Sync*

*for modpacks only

Using Auto Publish

Every project in the repo must have a manifest.json. This manifest.json specifies stuff that our publish.yml then uses to auto publish. Once it is set up, you may simply bump version in the manifest.json and it will update across platforms.

Please read tools/manifest/schema.json to understand the manifest.json.

Whenever Auto Publish is ran, it will be ran through a Validator. The Validator will fail if something is improperly configured; whether that be the lack of a changelog.md, a malformed manifest.json, or other reasons. If a publish run fails, please look to your manifest and set-up to make sure you are properly set up.

Auto Publish will also automatically list out every mod updated, added or removed in a modpack, and all commits to the pack. This allows for some time saving as you no longer now have to keep track of constant changes, and they are automatically added to the changelog

Using Canary Channels

Our Auto Publish action comes with an additional thing, a Canary channel for projects. To properly utilize this, add in a manifest-experimental.json, and properly configure it according to the schema, and every commit on the pack, it will automatically publish to a dedicated canary channel.

Using Sync

To address issues regarding our packs being intertwined in content and development, there is now a Sync system implemented.

Sync will essentially make one pack act as a library for whatever pack needs it. A good example is Simply Optimized Forked; a handful of our modpacks utilize this modpack as its performance base, so that we do not have to reimplement the same optimizations over and over.

In manifest.json, a pack must declare whether it is a base. If it is, then other packs can hook into it to be synced up automatically, with a structure similar to this:

"role": {
    "performance_base": {
      "pack": "lce-common",
      "mappings": [
        { "source": "26.1.2-mr", "target": "26.1.2-mr" }
      ]
    }
  }
} 

This means that this pack is directly synced with lce-common, benefitting from all of its changes automatically. It allows for easier development as the packs relying on it are essentially patches on top of the base.

Using Auto Update & Auto Refresh

Auto Update and Auto Refresh can be very powerful things! It allows you to automatically update packs. Since May 23rd, 2026, the action has now been made opt-out as well.

Auto Update and Auto Refresh will automatically update and validate all mods in every pack that is not opted-out of the feature. To opt out, please add a auto-update-ignore.json, with any reason you'd like. This is purely cosmetic and does not impact anything.

Using Builds

All builds in the repo occur when a commit happens to their specific subdirectory. These builds are the same as what Auto Publish uses.

Only the pack modified within a commit will be built. So if you modified something in, lets say Simply Legacy, your commit would only build Simply Legacy, and not Re-Console+ or 2000's Edition.

This means builds can be very fast, sometimes taking only 30 seconds.

Using Linters

All linters automatically run on commit, and will fail if the modified JSON/TOML is broken. This is helpful in the case of making a minor mistake in syntax

Using Bulk Actions

Bulk Actions allow you to a lot of one thing, in a single button push via our ForgeJo. This allows for bulk PNG compression, a bulk refresh (which will fix any broken modpacks), and a bulk update (does the same as auto update and auto refresh!)

Somnus

Somnus is a WIP CLI tool written in go that is built directly into the Monorepository. To utilize it, you must install it locally. It can be very helpful to modpack development!

Installing Somnus

To install Somnus, you can simply navigate to the src/actions/somnus directory and run go install ..

Afterward, you can run somnus in the CLI and see the current commands.

Using Somnus

Somnus is primarily a tool to accelerate some hurdles in pack development, regarding exporting with packwiz, initiating new packs under our monorepo structure, and to also allow CI to be ran locally in a better way.

Somnus Init

somnus init will initiate a new modpack with a manifest.json and a changelog.md, along with 2 sub-directories for Modrinth and CurseForge. You may set this to any loader (will always use latest) and Minecraft version while running the command.

Somnus Bump

somnus bump will bump manifest via CLI.

Somnus Export

somnus export will batch export every version of the pack in a .mrpack/.zip format in a non tracked folder for you to use.

Somnus Sync

somnus sync runs the sync command detailed in the prior CI section locally.

Somnus Modlist

somnus modlist will generate a Crash Assistant mod list derived from the packs index.toml. This may be buggy as it will add both serverside and clientside mods to the mod-list, so be aware.

Somnus Test

somnus test will (attempt) to set up an untracked auto-updating MultiMC instance, currently for testing purposes.

Somnus Lint

somnus lint will check if your JSON or TOML is valid and yell at you if it isnt.

Somnus Update

somnus update runs update on every modpack.

Somnus Refresh

somnus refresh runs refresh on every modpack.

Somnus Port

somnus port (attempts) to port a Modrinth or Curseforge pack to the other distribution platform. This will likely be high in error, but may accelerate porting by providing a majority of the core mods.

Somnus Pages

somnus pages generates a modlist.md inside each subdirectory, which can be linked to users, or saved for reference at a specific point in time.

Credits

stale.yml forked from JEI, licensed under MIT.

License

As all of these projects are different, the license may vary. Most packs are under GPL-3.0, or MIT. Please check the pack folder or the pages on official sites (Modrinth, CurseForge) for the license.

All* actions are licensed under AGPL-3.0 and written in Rust/Typescript/Go.