Terra (Fabric/Forge/Paper)

Terra (Fabric/Forge/Paper)

74.2k Downloads

[Feature] Recursively search `packs` directory for valid packs

astrsh opened this issue ยท 1 comments

commented

Pre-Request Checklist

  • I have checked that I am on the latest version of Terra.
  • I have searched github for similar features requests, including closed
    ones, and found none.
  • I believe this is within the scope of Terra.
  • This feature request is for all of Terra, and isn't something that
    should be implemented by a pack or addon.

Feature Description

Allow packs to be placed in arbitrary directory structures within the packs directory, where the requirement for a folder to be loaded as a pack is that it immediately contains a pack.yml.

An example of a valid setup:

packs
  some-config-pack-set
    pack-1
      pack.yml
      ...
    pack-2.zip
      pack.yml
      ...
  another-pack-set.zip
    some-folder
      pack-a
        pack.yml
        ...
      pack-b
        pack.yml
        ...

pack-1, pack-2.zip, pack-a, and pack-b would be loaded as config packs.

What Problem Does This Solve?

I feel like pack installation is needlessly complicated because of the strict requirement of where the manifest should be - this would allow installation of packs to be simpler for end users. In many cases you could just download the source of a pack directly from github and drop it in the packs directory without worrying about the directories being nested.

A Solution You'd Like

Run a BFS on folders and zips contained in the packs directory, and attempt to load any directories containing a pack.yml as a config pack. BFS would be terminated at directories identified as packs so pack subdirs aren't searched.

commented

Also this wouldn't be a breaking change as the behavior would remain the same for existing setups. I think this should be slated for 6.2.1