Skip to content

Priorities

Excederus edited this page Aug 24, 2026 · 4 revisions

Priorities

To guarantee clean patching Shader Patcher has a hardcoded priority that will decide which source to apply, if multiple sources provide patches for the same mod.

This is the priority:

  • EXTERNAL - High priority
  • INTERNAL - Medium priority
  • BUNDLED - Low priority

EXTERNAL

These are files that originate from the config folder - files provided by modpack developers.

EXTERNAL files with override INTERNAL and BUNDLED files with the same target.

Additionally EXTERNAL files are allowed to override _default mappings and transforms.

INTERNAL

These are files that originate from other mods - files provided by mod developers.

INTERNAL files with override BUNDLED files, but will be overriden by EXTERNAL files - again if they have the same target

INTERNAL files are not allowed to override _default mappings and transforms - attempts will be rejected during load.

BUNDLED

These are files that originate from Shader Patcher

BUNDLED files will be overriden by INTERNAL and EXTERNAL files - again if they have the same target

Additional Priority

Whenever Shader Patcher wants to apply a patch it will prioritize using mapping and transform files targeting the same mod.

If Shader Patcher cannot find mappings and/or transforms for that mod it will fall back to using the default mappings and transforms.

Example

BUNDLED files:

  • patch: block.mod-a.yaml
  • patch: block.mod-b.yaml
  • patch: block.mod-c.yaml
  • mapping: block._default.yaml
  • transform: block._default.yaml

INTERNAL files:

  • patch: block.mod-b.yaml
  • patch: block.mod-d.yaml
  • mapping: block.mod-b.yaml
  • transform: block.mod-b.yaml

EXTERNAL files:

  • patch: block.mod-a.yaml
  • mapping: block.mod-a.yaml
  • transform: block._default.yaml

When Shader Patcher starts patching, these are the file combinations it will use:

  • EXTERNAL patch: block.mod-a.yaml | EXTERNAL mapping: block.mod-a.yaml | EXTERNAL transform: block._default.yaml
  • INTERNAL patch: block.mod-b.yaml | INTERNAL mapping: block.mod-b.yaml | INTERNAL transform: block.mod-b.yaml
  • BUNDLED patch: block.mod-c.yaml | BUNDLED mapping: block._default.yaml | EXTERNAL transform: block._default.yaml
  • INTERNAL patch: block.mod-d.yaml | BUNDLED mapping: block._default.yaml | EXTERNAL transform: block._default.yaml

Clone this wiki locally