Skip to content

ModuleManager Errors

Lisias T edited this page Mar 17, 2024 · 1 revision

ModuleManager.log Errors

This document uses the following conventions:

<...> = information that varies from error to error

<:CONDITION> = HAS/NEEDS

<:SPECIFIER> = FIRST/BEFORE/FOR/AFTER/FINAL

value = any modName


NODE Errors

name specifier detected on insert node (not a patch):

WIP

empty brackets detected on patch name:

WIP


TAGLIST Errors

unrecognized trailer: <...> on:

WIP


TAG Errors

unrecognized trailer: <...> on:

WIP


:NEEDS Errors

more than one :NEEDS tag detected, ignoring all but the first:

WIP

empty :NEEDS tag detected:

WIP


:HAS Errors

:HAS detected on insert node (not a patch):

WIP

more than one :HAS tag detected, ignoring all but the first:

WIP

empty :HAS tag detected:

WIP


Pass Specifier Errors

pass specifier detected on insert node (not a patch):

This error tells you the patch in question is attempting to use a :SPECIFIER where it does not belong. A :SPECIFIER can only be used on the rootNODE (think PART, CONTRACT_TYPE, etc.) not inside. Look for a node inside the patch like this:

@PART
{
	MODULE[goodNode] {}
	MODULE[badNode]:SPECIFIER   <--- not allowed
}

empty <:SPECIFIER> tag detected:

This error tells you the patch in question has not provided a modName for the patchpass. It's telling ModuleManager when do to the pass, just not which mod to do it against. Basically, the when without the where. These will be BEFORE/FOR/AFTER passes with empty or missing square-brackets ([]).

Look for instances like this:

@PART:FOR

@PART:AFTER[]

value detected on <:FINAL/:FIRST> tag:

This error tells you the patch in question is attempting to specify a modName inappropriately.

Look for :FIRST & :FINAL patching that has :FIRST[modName] or :FINAL[modA]:

more than one pass specifier detected, ignoring all but the first:

This error tells you the patch in question is attempting to use more than one pass specifier. Since that's a no-no, only the first pass in the series will be executed; all others will be ignored.

Look for multiple instances of a :SPECIFIER following one another:

@PART:FOR[modNameA]:FINAL

@CONTRACT_TYPE:BEFORE[modA]:AFTER[modB]

unrecognized tag: <...> on:

This error tells you the patch in question has a random ASCII character set at the end of the config line which is mucking up the works. Not all text editors are created (or configured) alike; as such, they may not reveal the presence of said invisible interlopers when viewed.

When revealed, look for characters like this:



You have two options to deal with this:

  1. download a text editor that will reveal these invisible interlopers (example: VIM), or
  2. delete the entire offending line and manually duplicate it yourself.

Edit. Save. Profit.