63 lines
3.2 KiB
Markdown
63 lines
3.2 KiB
Markdown
# 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 the validation layer
|
|
The validation layer will check your configuration for common issues and report them to you.
|
|
This can help you identify common issues with your configuration more quickly.
|
|
|
|
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 <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](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.
|