Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/enjarai/recursive-resources

Minecraft mod that enhances the Resource Pack menu with folder support.
https://github.com/enjarai/recursive-resources

fabric-mod fabricmc-mod minecraft minecraft-mod

Last synced: about 2 months ago
JSON representation

Minecraft mod that enhances the Resource Pack menu with folder support.

Awesome Lists containing this project

README

        

# Recursive Resources

[![Mod Loader](https://img.shields.io/badge/Mod%20Loader-Fabric-lightyellow?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTE2VDE2OjU0OjE3LTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNy0yOFQyMToxNzo0OC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNy0yOFQyMToxNzo0OC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowZWRiMWMyYy1mZjhjLWU0NDEtOTMxZi00OTVkNGYxNGM3NjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MGVkYjFjMmMtZmY4Yy1lNDQxLTkzMWYtNDk1ZDRmMTRjNzYwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MGVkYjFjMmMtZmY4Yy1lNDQxLTkzMWYtNDk1ZDRmMTRjNzYwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZWRiMWMyYy1mZjhjLWU0NDEtOTMxZi00OTVkNGYxNGM3NjAiIHN0RXZ0OndoZW49IjIwMTgtMTItMTZUMTY6NTQ6MTctMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4/HiGMAAAAtUlEQVRYw+XXrQqAMBQF4D2P2eBL+QIG8RnEJFaNBjEum+0+zMQLtwwv+wV3ZzhhMDgfJ0wUSinxZUQWgKos1JP/AbD4OneIDyQPwCFniA+EJ4CaXm4TxAXCC0BNHgLhAdAnx9hC8PwGSRtAFVMQjF7cNTWED8B1cgwW20yfJgAvrssAsZ1cB3g/xckAxr6FmCDU5N6f488BrpCQ4rQBJkiMYh4ACmLzwOQF0CExinkCsvw7vgGikl+OotaKRwAAAABJRU5ErkJggg==)](https://fabricmc.net)
![Enviroment](https://img.shields.io/badge/Enviroment-Client-purple)
[![Discord](https://img.shields.io/discord/1016206797389975612?color=blue&logo=discord&label=Discord)](https://discord.gg/WcYsDDQtyR)

[![Modrinth](https://img.shields.io/modrinth/dt/recursiveresources)](https://modrinth.com/mod/recursiveresources)
[![CurseForge](https://cf.way2muchnoise.eu/full_674907_downloads.svg)](https://curseforge.com/minecraft/mc-mods/recursive-resources)

An opinionated port of the [Resource Pack Organiser](https://github.com/chylex/Resource-Pack-Organizer) mod to modern versions of Minecraft.

## Summary

Recursive Resources is a mod that revamps the vanilla resource pack menu to be more friendly to power users
with the addition of many Quality of Life features, such as:

- The ability to organize resource packs into folders that you can navigate within the game
- Extensive folder customization including custom icons, ordering and pseudo-symlinking
- Enabling full folders of resource packs at once, effectively creating "profiles"
- Folder view (navigate in and out of folders) and flat view (packs from all folders shown in a single list)
- Searching pack names and description (with wildcard support)

## Features

### Folders

Most of the features in this mod revolve around folders.
Unlike vanilla, any subfolders you create in the `.minecraft/resourcepacks` folder will be shown ingame,
letting you navigate in and out of them to select packs.
Due to technical limitations, this mod **cannot create or manage folders or move packs ingame**,
this must be done via an external file browser.
Any changes you make to the directory structure will be updated in realtime ingame.

![Folders example 1](img/folders-1.png)

Note: Unzipped resource packs **will** still be properly detected and shown in the list as a resource pack.

### Quick enable/disable

You may have noticed the new buttons added to the top of the resource pack list.
These can be used to quickly enable or disable all resource packs in the current folder.
A similar button can also be seen by hovering over the icon of a folder,
which will enable all packs in that folder.

Packs enabled this way will apply in the order they appear in the folder,
this order can be customized using the `folder.json` files as described below.

![Quick toggle example 1](img/quick-1.png)

![Quick toggle example 2](img/quick-2.png)

### Folder icons

You can give folders custom icons by placing an image named `icon.png` inside them.
This image will be shown in the resource pack list, and can be used to quickly identify folders.

![Folder icons example 1](img/icons-1.png)

### folder.json configuration

You've probably seen a file named `folder.json` in the screenshots above,
this file is used to configure some extra properties for the folder it is inside of.
One of these files will be automatically created when you create and enter a new folder.
Opening it up in a text editor, you should see a structure similar to this:

```json
{
"icon": "icon.png",
"description": "",
"packs": [
"circular hotbar.zip",
"Not Microsoft"
],
"hidden": false
}
```

These fields represent the following:

- `icon` - The name of the icon file to use for this folder, relative to this folder.
- `description` - A description of the folder, shown under its name.
- `hidden` - Whether or not to hide this folder from the list.

The `packs` field is a little more complicated.
It contains a list of all packs in the current folder, in the order in which they'll be displayed and applied.
While you can reorder these as you please,
removing one will cause it to be added back automatically so long as its file is still in the folder.

### Pseudo-symlinks

In some cases, you may want to have a pack appear in multiple folders at once.
While you could just copy the pack, this would use twice the disk space, and might be impractical.
This is why the `packs` field in the `folder.json` supports referencing packs outside of the current folder.

For example, you could modify the `folder.json` from the above examples like this:

```json
{
"icon": "icon.png",
"description": "",
"packs": [
"vanillatweaks packs/VanillaTweaks_general.zip",
"circular hotbar.zip",
"Not Microsoft"
],
"hidden": false
}
```

This would cause the `VanillaTweaks_general.zip` pack to appear in
both the `vanillatweaks packs` folder and the current folder:

![Pseudo-symlinks example 1](img/symlinks-1.png)

## License

This mod is under the [Mozilla Public License](LICENSE), version 2.0