# 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. ## 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 `. 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](https://jfronny.gitlab.io/contact.html) 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.