Filled In-Game Skin Changing

Discussion in 'Plugin Requests' started by Phoenix_Buster, Apr 6, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    Phoenix_Buster

    Plugin category: Fun | Mechanics | Role Playing

    Suggested name: NewSkin

    What I want: I'd like a plugin which would add the function of in-game skin changing, without the need for logging out. There used to be a plugin which did this, but it required the use of Spoutcraft, which is now very out of date and incompatible with just about everything. I'm not entirely sure if this would be possible without some sort of client-side mod, but I'm hoping it is.

    Essentially, there are two ways I can think of to change skins in-game:
    1. Players can type a command, such as "/skin (url)", where they paste in a direct image link from an online image-sharing site, and their skin is replaced with the one linked to in the command. There would be a file in the plugin's folder keeping each player's skin associated with their username or UUID.
    2. Players can type a command, such as "/skin refresh" or "/skin r", which would refresh the skin which they would upload to minecraft.net in-game. To change skins, a player would simply need to upload the skin they wanted to minecraft.net, like usual, then type the command to apply it without the need for closing out of Minecraft and logging back in.


    Ideas for commands:
    • /skin (url) and/or /skin refresh
    Ideas for permissions:
    • skins.use - Basic permission for applying a new skin.
    • skin.use.other - Admin permission for changing the skin of another user, with a command like "/skin (url) [username]".

    When I'd like it by: The server I would use this for is currently being developed, so whenever possible.
     
  2. Offline

    Phoenix_Buster

    Just bumping the thread since no replies.
     
  3. Offline

    iarepande

    I'm 95% sure this is only possible with client side modding.
     
  4. @iarepande you can change skins but only by changing their name too.
     
  5. Offline

    iarepande

    @bwfcwalshy hmmm, does that mean if you changed their name and changed it back it would reload it ?

    or does it only work the next time someone 'logs in' to a mc server?
     
  6. @iarepande it changes it after the name is changed. If you changed it to Notch for example then change it back to bwfcwalshy it will be my skin.
     
  7. Offline

    iarepande

    @bwfcwalshy mmm, but if I changed it to Notch and then back to my name, would it be the original skin or the new skin?
     
  8. @iarepande While your name is Notch it will be Notch's skin, once you change back if will be yours again.
     
  9. Offline

    iarepande

    @bwfcwalshy Yea, but they are saying you would update the skin. So if it's 'my' skin would it be my previous skin or my 'new' skin. I feel like it would still be the previous one and you need to relog to get the skin to update.
     
  10. @iarepande No need to relog, it will auto update.
     
  11. Offline

    MoejoeAw44

    @bwfcwalshy Maybe masking their username? If they want the skin "Notch", it will change their name to Notch, but some how making a mask to right over top (Being their real name).

    Not sure how this'd be done, but I'm sure it's possible.

    So for example, if I want my skin as "Notch", the server thinks I'm Notch, but basically like makeup, it would mask "Notch" into your name,
     
  12. Offline

    pie_flavor

    What if you set their name to Notch, and did the skin update, then used TagAPI to set their name to creeperkills1000 or whatever?
     
  13. Offline

    Phoenix_Buster

    (I apologize for the late reply, my internet has been very sketchy lately and I haven't been able to get on)
    If that would work, maybe the plugin could change their username to something relatively random for only a couple of ticks, then instantly and automatically change it back to their default IGN, updating the skin?
     
  14. Offline

    RichardBob123

    You can use the disguisecraft api, I'm pretty sure that your could integrate it into this plugin.
     
  15. Offline

    nverdier

    LibsDisguises is better ;3
     
  16. @Phoenix_Buster I could make this, what version of CraftBukkit will you be using?
     
  17. Offline

    Phoenix_Buster

    I was looking into using the 1.8.3 Spigot patch for CraftBukkit.
     
  18. Moved to Bukkit Alternates.
     
  19. Offline

    Phoenix_Buster

    The server I would plan on using this for is still in the very early stages; it's a roleplay server and we're still finishing up writing the lore, which is why I didn't post a "done by" date/time. It wouldn't be too hard to switch to Bukkit 1.7.10 if that would be too much trouble.
     
  20. @Phoenix_Buster If you're going to use 1.7.10 then I can make it. Naturally it'll only work on 1.7.10 though :)
     
  21. Offline

    mrCookieSlime

    Moved to Plugin Requests.
     
  22. Offline

    Phoenix_Buster

    @AdamQpzm
    That sounds just fine. Thank you for taking an interest in the request. ^_^
     
  23. @Phoenix_Buster You can download the plugin here. Source available here.

    Config:

    Code:
    # The amount of time in seconds a player has to wait before performing the command again.
    cool-down-time: 300
    
    # The amount of timein seconds to wait between requests to Mojang's server (Mojang have a rate limit)
    rate-limit: 140
    Commands:
    /skin refresh - Refresh your skin
    /skin disguise <player> - Sets your skin to the <player>'s skin

    Permissions:

    Code:
    skinrefresh.*:
      description: Gives you all SkinRefresh permissions!
      default: op
    skinrefresh.disguise:
      description: Allows you to disguise yourself as someone else's skin!
      default: op
    skinrefresh.refresh:
      description: Allows you to refresh your skin!
      default: op
     
    Last edited: Apr 20, 2015
    Phoenix_Buster likes this.
  24. Offline

    Phoenix_Buster

    @AdamQpzm
    I'd love to give it a try as soon as I can; unfortunately I managed to damage my motherboard when installing a complement... I'll see if I can't get a small test server up on my laptop, and give some feedback as soon as possible. ^_^
     
  25. @Phoenix_Buster Nicely done :p And that's okay, it'll be there for you to test whenever you're ready for it :p
     
  26. Offline

    Phoenix_Buster

    *Component
    ....That would be the result of my having to use my phone for the time being.. -_-

    Anyway, @AdamQpzm , I got a small server set up on my laptop, and I just have one quick question: is 140s the minimum amount of time I can set for the skin to be refreshed? Would the plugin not work if I were to set it much lower?
     
    Last edited: Apr 22, 2015
  27. @Phoenix_Buster You can set it lower. I believe that Mojang limit it to one request per minute, so I set it to two minutes just to be safe. Bare in mind that doing so may result in a command failing if Mojang's server rejects the request :p
     
  28. Offline

    Chromify

    This would lead to chaos. Doing /sudo <user> skin <inappropriate skin url> could change a player's skin without them knowing
     
  29. Offline

    Phoenix_Buster

    ...Wouldn't the simple solution to that be to use permissions to keep people who would abuse the /sudo command (i.e. anyone who's not an Admin) from using it, like with any other potentially dangerous command?

    This would also be used for a strict Role Play server, in my case, where a "demerit" system would penalize anyone using skins that didn't relate to RP.

    It also looks like someone is looking for basically this same plugin for 1.8, in the Bukkit Alternatives forum, if anyone wants to give that a try. I wouldn't mind the effort, either.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 12, 2016
Thread Status:
Not open for further replies.

Share This Page