Advertisement
akon1248

Offline Skin

Sep 4th, 2019
6,285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. import:
  2. java.util.Collections
  3. java.util.UUID
  4. org.bukkit.Bukkit
  5. com.comphenix.protocol.wrappers.PlayerInfoData
  6. com.comphenix.protocol.wrappers.WrappedGameProfile
  7. com.comphenix.protocol.wrappers.WrappedSignedProperty
  8. on load:
  9. set {_package} to Bukkit.getServer().getClass().getPackage().getName()
  10. set {_strlist::*} to split {_package} by "."
  11. set {nmsver} to {_strlist::4}
  12. on connect:
  13. copy json text from "https://api.mojang.com/users/profiles/minecraft/%player%" to {_basicplayerdata::*}
  14. {_basicplayerdata::id} is set
  15. set {uuid::%player%} to UUID.fromString({_basicplayerdata::id}.replaceFirst("(\p{XDigit}{8})(\p{XDigit}{4})(\p{XDigit}{4})(\p{XDigit}{4})(\p{XDigit}+)", "$1-$2-$3-$4-$5"))
  16. if check [{value::%player%} is not set] or check [{signature::%player%} is not set]:
  17. set {_skindata} to text from "https://sessionserver.mojang.com/session/minecraft/profile/%{_basicplayerdata::id}%?unsigned=false" parsed as jsonobject
  18. set {value::%player%} to {_skindata}.get("properties").get(0).get("value")
  19. set {signature::%player%} to {_skindata}.get("properties").get(0).get("signature")
  20. set {_wrappedgameprofile} to new WrappedGameProfile(player.getProfile())
  21. if Bukkit.getServer().getServer().getOnlineMode() is false:
  22. set {_wrappedgameprofile}.getHandle().id! to {uuid::%player%}
  23. player.getHandle().a({uuid::%player%})
  24. {value::%player%} is set
  25. {signature::%player%} is set
  26. {_wrappedgameprofile}.getProperties().put("textures", new WrappedSignedProperty("textures", {value::%player%}, {signature::%player%}))
  27. on packet event play_server_player_info:
  28. set {_oldplayerinfodata} to event-packet.getPlayerInfoDataLists().read(0).get(0)
  29. set {_gameprofile} to {_oldplayerinfodata}.getProfile()
  30. set {_mcid} to {_gameprofile}.getName()
  31. {value::%{_mcid}%} is set
  32. {signature::%{_mcid}%} is set
  33. {_gameprofile}.getProperties().put("textures", new WrappedSignedProperty("textures", {value::%{_mcid}%}, {signature::%{_mcid}%}))
  34. set {_playerinfodata} to new PlayerInfoData({_gameprofile}, {_oldplayerinfodata}.getLatency(), {_oldplayerinfodata}.getGameMode(), {_oldplayerinfodata}.getDisplayName())
  35. event-packet.getPlayerInfoDataLists().write(0, Collections.singletonList({_playerinfodata}))
  36. on unload:
  37. delete {uuid::*}
  38. delete {value::*}
  39. delete {signature::*}
  40. on skript disable:
  41. delete {uuid::*}
  42. delete {value::*}
  43. delete {signature::*}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement