Respackopts/docs/setup/Debugging.md
JFronny 35dc868d3b
Some checks failed
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/jfmod Pipeline failed
fix: move validation layer under debugLogs option that already exists for things like that
2024-05-04 19:57:02 +02:00

62 lines
3.1 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 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 <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.