Skip to content

Suggestion: add option to choose custom API for Image Heads #3287

Closed

Description

@coldpitch

Are you using MySQL?

No

Are you using a proxy?

No

"/version ChatControlRed" - plugin version

11.4.8 / any

Optional: Error log

No response

ZIP of "/chc debug"

(This error only shows every 30min) Unable to look up player head from head: {player_name}. Error: javax.imageio.IIOException: Can't get input stream from URL!

Steps to reproduce

Today, displaying the player's head image via "Image_Head": "{player_name}" in motd.yml has stopped working. Also, if you enable in chat.yml:

  # Shows the head of the specified player before their messages
  #player-head:
    #Message: ""
    #Hover: "{player}"
    #Image_Head: "{player}"
    #Image_Height: 10
    #Image_Type: "LIGHT_SHADE"

the same issue occurs.

Just try displaying the player's head image using "Image_Head": "{player_name}", for example, in the same motd.yml etc.

Activity

  1. changed the title [-]Version: 1.21.8[/-] [+]Image_Head stop working | Version: 1.21.8[/+] on Aug 16, 2025
  2. coldpitch commented on Aug 16, 2025

    @coldpitch
    Author

    I also wrote a simple plugin that sends a ping to https://mc-heads.net/avatar/myname, and it returned a 403 error, but maybe problem in User-Agent, idk, because curl -I on my VDS machine returns status 200, but a ping through the plugin on the running Purpur server returns 403, I can assume that the issue might be with the user-agent and the CDN of https://mc-heads.net/, which simply blocks pings from my plugin.

  3. devpedrobarbosa commented on Aug 16, 2025

    @devpedrobarbosa
    Contributor

    @coldpitch

    You're right — the issue is that https://mc-heads.net/ is returning a 403 Forbidden. Not sure why that’s happening yet, but I’ll look into it.

  4. coldpitch commented on Aug 17, 2025

    @coldpitch
    Author

    @devpedrobarbosa

    I’m not sure if it’s appropriate to suggest solutions here, but maybe you’d like the idea of adding an option to choose a “skin source”? As far as I know, this kind of API is provided not only by https://mc-heads.net/.

    Or make a redirect through an external script (which can be hosted on a self-hosted machine), just open an additional port on it so that the image request goes through it, and then it sends the response back to the game.

  5. devpedrobarbosa commented on Aug 18, 2025

    @devpedrobarbosa
    Contributor

    @devpedrobarbosa

    I’m not sure if it’s appropriate to suggest solutions here, but maybe you’d like the idea of adding an option to choose a “skin source”? As far as I know, this kind of API is provided not only by https://mc-heads.net/.

    Or make a redirect through an external script (which can be hosted on a self-hosted machine), just open an additional port on it so that the image request goes through it, and then it sends the response back to the game.

    Sure thing! This seems fair enough to be implemented. The user could actually have it's own API...

    Thanks for sharing.

    I'll be looking into implementing this.

  6. changed the title [-]Image_Head stop working | Version: 1.21.8[/-] [+]Suggestion: add option to choose custom API for Image Heads[/+] on Aug 18, 2025
  7. devpedrobarbosa commented on Aug 18, 2025

    @devpedrobarbosa
    Contributor

    I changed the title since Image_Head didn't actually stop working.

  8. kangarko commented on Aug 20, 2025

    @kangarko
    Owner

    @devpedrobarbosa this could be added, just have a public static setter for a custom url in foundation and then call it in simplesettings of chatcontrol

  9. devpedrobarbosa commented on Aug 25, 2025

    @devpedrobarbosa
    Contributor

    It's already implemented and will be available in the next release.

    Thanks @coldpitch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

SuggestionNew feature proposed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions