Making certain core parts of the mod configurable
Wizzerinus opened this issue ยท 2 comments
Is your feature request related to a problem? Please describe.
I am developing a modpack. I think most of Abyssalcraft (I use 2.0.0-alphaN versions) fits it really well, however, I'd want to exclude the entire Dreadlands part from the pack. This means I need to do a few things:
- adjust the keys to move the player directly into Omothol from Abyssal Wasteland
- stop showing Dreadlands Energy on the Staffs of Rending
- make the 'beaten each boss' trigger ignore Cha'Garoth (for things like Oblivion Catalyst)
- perhaps other stuffs like this
- and 3) are pretty minor, however 1) is a big showstopper. I can implement this through mixins, however I figured this feature might be useful for other pack developers in the future, so it might be useful to have in the base mod. (I can PR these if deemed useful)
Describe the solution you'd like
- A config option for dimension pairs that each key can activate (example: replacing the pairs
(50, 51) & (51, 52)
on the Omothol key to(50, 52)
would make the key open portals directly to Omothol from AW. This could be expanded for other mods' dimensions too for fun.)
Describe alternatives you've considered
Making a mod that uses Mixins to achieve just that and including it in my pack
- The API that handles dimension data (also called DimensionData) has support for creating connections between two dimensions that weren't connected in the first place, with the only lacking component there being to remove existing DimensionData DTOs (since that wasn't something I considered when writing the implementation).
- Same issue as the above, you can register a Rending, but removing a registered Rending isn't something that's in place.
- This would be a component in opening the Knowledge API to GS/CT (or if a mod just overrides the Unlock Condition), and not something that would go into the config (as I would consider this too specific to be included in the config file).
A recurring thing here is the lack of native support for removing things. For rending, the Rending Pedestal is the only thing that has the various energies hardcoded, as the GUI is limited in comparison to the tooltip on the Staff of Rending. The DimensionData needs a bit of extra stuff if you were to wipe an entry, but if I had added support for specifically removing stuff, that part would've already been handled. Granted, that can go under the flag of growing pains since it is a completely new concept in the mod (code wise).