{"record":{"id":"dd1ce5e29dc0b590","repo":"Anuken/Mindustry","slug":"unknown-status-effect","errorCode":null,"errorMessage":"Unknown status effect: '","messagePattern":"Unknown status effect: '","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"core/src/mindustry/mod/ContentParser.java","lineNumber":148,"sourceCode":"            if(!result.found()){\n                warn(\"Sprite not found: '\" + str + \"'\");\n            }\n            return result;\n        });\n        put(Color.class, (type, data) -> {\n            if(data.isNumber()){\n                int len =  data.asString().length();\n                if(len != 6 && len != 8){\n                    warn(\"@Colors should strings, not numbers. Make sure you have quotes around the value, or they will not be parsed correctly: '@'\", currentContent == null ? \"\" : \"[\" + currentContent.minfo.sourceFile.name() + \"]: \", data);\n                }\n            }\n            return Color.valueOf(data.asString());\n        });\n        put(StatusEffect.class, (type, data) -> {\n            if(data.isString()){\n                StatusEffect result = locate(ContentType.status, data.asString());\n                if(result != null) return result;\n                throw new IllegalArgumentException(\"Unknown status effect: '\" + data.asString() + \"'\");\n            }\n            StatusEffect effect = new StatusEffect((currentMod == null ? null : currentMod.name + \"-\") + data.getString(\"name\"));\n            effect.minfo.mod = currentMod;\n            readFields(effect, data);\n            return effect;\n        });\n        put(UnitCommand.class, (type, data) -> {\n            if(data.isString()){\n               var cmd = content.unitCommand(data.asString());\n               if(cmd != null){\n                   return cmd;\n               }else{\n                   throw new IllegalArgumentException(\"Unknown unit command name: \" + data.asString());\n               }\n            }else{\n                throw new IllegalArgumentException(\"Unit commands must be strings.\");\n            }\n        });","sourceCodeStart":130,"sourceCodeEnd":166,"githubUrl":"https://github.com/Anuken/Mindustry/blob/f695ad7e60323ebced984fa26d0bcf0bc54296b4/core/src/mindustry/mod/ContentParser.java#L130-L166","documentation":"Thrown by the StatusEffect parser when data is a string but locate(ContentType.status, name) returns null, meaning no registered status effect matches the name. Used wherever a bullet/effect references a status by name.","triggerScenarios":"A mod JSON references a status effect by string (e.g. a bullet's `status` field) whose name is not present in the status content registry.","commonSituations":"Misspelled status name, referencing a status from another mod that hasn't loaded yet, or a status renamed/removed in a newer game version.","solutions":["Correct the spelling against the registered status names (inspect Vars.content by ContentType.status).","Ensure any mod providing that status loads before this content (fix load order / dependencies).","If you want a brand-new effect, define it inline as an object with a `name` instead of referencing by string."],"exampleFix":"// before\n\"status\": \"burnning\"\n// after\n\"status\": \"burning\"","handlingStrategy":"validation","validationCode":"// Verify a status effect name exists before referencing it.\nboolean statusExists(String name) {\n    return Vars.content.getByName(ContentType.status, name) != null;\n}","typeGuard":null,"tryCatchPattern":"try { /* parse content */ }\ncatch (IllegalArgumentException e) {\n    if (e.getMessage().contains(\"Unknown status effect\")) Log.err(\"Fix status ref: @\", e.getMessage());\n    else throw e;\n}","preventionTips":["Reference status names exactly as registered.","Order mods so dependency statuses load first.","Define new effects inline rather than referencing non-existent ones."],"tags":["modding","json","content-parser","status-effect"],"backgroundTag":null,"analyzedSha":"f695ad7e60323ebced984fa26d0bcf0bc54296b4","analyzedAt":"2026-08-14T04:31:16.262Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}