Pumpkin-MC/Pumpkin · error · TextureError

Failed to parse JSON from player texture

Error message

Failed to parse JSON from player texture: {0}

What it means

Thrown by TextureError in the Mojang authentication flow when the base64-decoded player texture payload cannot be parsed as JSON, i.e. the textures property in the authenticated game profile is corrupt or not a valid JSON object.

Solutions

  1. Continue login with default textures
  2. Log the JSON parse error with the player name for diagnosis
  3. Validate the decoded payload against the texture JSON schema
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/pumpkin/src/net/authentication.rs:421 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of Pumpkin-MC/Pumpkin@8d4639e25a (2026-09-09). Data as JSON: /api/errors/eb5047d8afe70294. Report an issue: GitHub.

Appendix: source

Thrown at crates/pumpkin/src/net/authentication.rs:421

    #[error("You have disallowed actions from Authentication servers")]
    DisallowedAction,
    #[error("Failed to parse JSON into Game Profile")]
    FailedParse,
    #[error("Unknown Status Code {0}")]
    UnknownStatusCode(StatusCode),
}

#[derive(Error, Debug)]
pub enum TextureError {
    #[error("Invalid URL")]
    InvalidURL,
    #[error("Invalid URL scheme for player texture: {0}")]
    DisallowedUrlScheme(String),
    #[error("Invalid URL domain for player texture: {0}")]
    DisallowedUrlDomain(String),
    #[error("Failed to decode base64 player texture: {0}")]
    DecodeError(String),
    #[error("Failed to parse JSON from player texture: {0}")]
    JSONError(String),
}

#[cfg(test)]
mod tests {
    use super::ProfileTextures;

    // Third-party auth servers (drasl, Blessing Skin, littleskin.cn) don't send
    // `signatureRequired`. The profile must still parse. See issue #301.
    #[test]
    fn parses_profile_without_signature_required() {
        let json = r#"{
            "timestamp": 0,
            "profileId": "069a79f444e94726a5befca90e38aaf5",
            "profileName": "Notch",
            "textures": {}
        }"#;
        let profile: ProfileTextures =

View on GitHub (pinned to 8d4639e25a)