CCBlueX Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved [Unnicker] How to get the Textures / Property of the GameProfile of a Player

    ScriptAPI
    2
    4
    92
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Marlon
      Marlon last edited by

      A certain Server has a Nickname System which changes the Name and the Skin of the Player but the Skin of the nicked Player isn't the Skin of the Nickname.
      What i try to do is, when a Player nicks himself, the Script checks if the Skins aren't the same.
      I need to get the Property of the (Skin)-Texture of the Player in the Tablist, so i can check if its the same Texture as the Skin of the UUID stored at:
      https://sessionserver.mojang.com/session/minecraft/profile/<UUID>

      ///api_version=2
      (script = registerScript({
          name: "Unnicker",
          version: "1.0.0",
          authors: ["Marlon"]
      })).import("Core.lib");
      
      var S38PacketPlayerListItem = Java.type("net.minecraft.network.play.server.S38PacketPlayerListItem");
      var Action = Java.type("net.minecraft.network.play.server.S38PacketPlayerListItem.Action");
      var AddPlayerData = Java.type("net.minecraft.network.play.server.S38PacketPlayerListItem.AddPlayerData");
      var Property = Java.type("com.mojang.authlib.properties.Property")
      
      script.registerModule({
          name: "Unnicker",
          category: "Misc",
          description: "Warns when someone is nicked"
      }, function (module) {
          module.on("packet", function(eventData) {
              var packet = eventData.getPacket();
      
              if(packet instanceof S38PacketPlayerListItem) {
                  if(packet.getAction() == Action.ADD_PLAYER) {
                      var entries = packet.getEntries();
                      var firstEntry = entries.get(0);
                      var gameProfile = firstEntry.getProfile();
                      var properties = gameProfile.getProperties();
                      var textures = properties.get("textures");
      
                      Chat.print(textures);
                  }
              }
          });
      });
      

      Output of the Code is:
      44c0194f-3648-4cbc-bbab-a68aa1081a6b-grafik.png
      But if i run the Method "getName()" for example it wont show anything in the chat.
      Hope someone understands my problem and can solve it. 😉

      FaaatPotato 1 Reply Last reply Reply Quote 0
      • FaaatPotato
        FaaatPotato @Marlon last edited by

        @Marlon

        var textures = properties.get("textures").iterator().next()
        Chat.print(textures.getValue());
        

        returns smth similar to this:

        3fa62073-ffab-45d8-9d8f-f720fc762520-image.png

        Marlon 1 Reply Last reply Reply Quote 1
        • Marlon
          Marlon @FaaatPotato last edited by

          @FaaatPotato Thank you it works! 🙂

          FaaatPotato 1 Reply Last reply Reply Quote 0
          • FaaatPotato
            FaaatPotato @Marlon last edited by

            @Marlon no problem homie

            1 Reply Last reply Reply Quote 0
            • Topic has been marked as solved  Marlon Marlon 
            • First post
              Last post
            About
            • Terms of Service
            • Privacy Policy
            • Status
            • Contact Us
            Downloads
            • Releases
            • Source code
            • License
            Docs
            • Tutorials
            • CustomHUD
            • AutoSettings
            • ScriptAPI
            Community
            • Forum
            • Guilded
            • YouTube
            • Twitter
            • D.Tube