Debugging

If you run into issues with respackopts and cannot find a solution here, please contact me directly for support or help (details are at the bottom of this page)

Enable debug logs

If debug logs are enabled, respackopts will enable additional checks that make finding common issue much easier.

It is not enabled by default for performance reasons, but if you are making a pack or debugging, it is recommended to enable it.

Verify that the option you are using exists

One common issue is that you removed an option but still use it somewhere. The log will usually reference that option and the source. You can use the dumped scope as a reference for what actually exists for your condition.

Ensure you are using the correct dots

Respackopts only supports normal dots. If you write commas or colons by accident, your pack WILL fail to load.

Ensure there are no ID conflicts

If you have multiple packs with the same ID, your conditions might not work as expected. You will see a warning in the log if this is the case.

Run the condition manually

You can use /rpoc execute to run muScript code snippets in-game with all configs applied (be aware that you will need to prefix your entries with your pack id when doing so).

This can help you identify issues with your conditions or see what the result of a condition is.

Dump scope

You can use /rpoc dump scope to output muScript code representing the scope passed to your conditions. Comparing this with your condition should help you figure out most issues.

If your conditions are not working as expected, this is something you should check.

Dump GLSL code

You can run the command /rpoc dump glsl to dump the shader code generated by respackopts to a file.

I recommend reading through it if your shader is misbehaving. The content imported to your shader by the integrations will equal the dumped code.

Dump the internal representation

Running /rpoc dump config will dump all data available about the enabled packs, including their config options (but not individual configurations like .rpo files)

You can use this if a respackopts.json5 isn't working as expected

Look at the config file

Respackopts stores configurations next to their corresponding resource packs (some pack.zip.rpo usually) This file contains all applied config options as saved by respackopts.

If you are unsure about the state of your pack, you can look at this file to see what options are applied.

Dump asset

You can dump individual files with /rpoc dump asset <identifier>.

This allows you to see the actual file minecraft will use for a given identifier. This is especially useful when using file expansion.

Avoid infinite loops

Ensure that you do not reference an original file or a previous fallback from a fallback. Respackopts WILL crash if it runs into an infinite loop!

If you get a StackOverflowException, you can enable debugLogs and validationLayer in the config, which might help you figure out what is wrong.

Contact me for support

If you are unable to identify the issue, you can try contacting me. As respackopts is a complex mod, there is a non-zero chance that your issue may be caused by a bug in the mod. Even if the issue is in your code, I can still try helping you fix it.