Taterzens [Fabric]

Taterzens [Fabric]

86.3k Downloads

Skins don't seem to work [Fabric]

irunatbullets opened this issue ยท 6 comments

commented

Describe the bug
When I run /npc edit skin irunatbullets I get this message on the screen Skin of Taterzen was fetched from irunatbullets. but the taterzen doesn't change. (log included below)

Platform(s)

  • Fabric

Versions

  • Minecraft 1.17.1
  • Taterzens 1.4.0

Logs

Logs
[21:58:55] [Render thread/FATAL]: Error executing task on Client
java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because "โ˜ƒ" is null
	at net.minecraft.class_2519.method_23256(class_2519.java:57) ~[intermediary-1.17.1.jar:?]
	at net.minecraft.class_2487.method_10582(class_2487.java:170) ~[intermediary-1.17.1.jar:?]
	at org.samo_lego.taterzens.npc.TaterzenNPC.writeSkinToTag(TaterzenNPC.java:581) ~[taterzens-1.4.0-fabric.jar:?]
	at org.samo_lego.taterzens.npc.TaterzenNPC.applySkin(TaterzenNPC.java:534) ~[taterzens-1.4.0-fabric.jar:?]
	at net.minecraft.class_2631.method_37430(class_2631.java:151) ~[intermediary-1.17.1.jar:?]
	at net.minecraft.class_1255.method_18859(class_1255.java:151) [intermediary-1.17.1.jar:?]
	at net.minecraft.class_4093.method_18859(class_4093.java:23) [intermediary-1.17.1.jar:?]
	at net.minecraft.class_1255.method_16075(class_1255.java:125) [intermediary-1.17.1.jar:?]
	at net.minecraft.class_1255.method_5383(class_1255.java:110) [intermediary-1.17.1.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1075) [intermediary-1.17.1.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:728) [intermediary-1.17.1.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:217) [intermediary-1.17.1.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:568) [fabric-loader-0.12.0.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.12.0.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.12.0.jar:?]

Additional context
The only mods I have installed are

architectury-2.5.30-fabric.jar
cloth-config-5.0.38-fabric.jar
fabric-api-0.40.1+1.17.jar
RoughlyEnoughItems-6.0.279-alpha-fabric.jar
taterzens-1.4.0-fabric.jar

I am using the example dialogue_world

commented

I'm having the same problem on forge.

commented

There were similar reports about mineskin skins on discord (although that's a different problem).

Can you export taterzen to a preset (/npc preset save <filename>) and send / paste it here? I'm wondering whether skin gets set and is not loaded or is not getting applied in the first place ... It's strange that it's the client which errors.

Singleplayer or server?

This might be related as well
samolego/MobDisguises#16

commented

This is just a single player world using dislogue_world. Here is the exported taterzen for myself:

{
  "Brain": {
    "memories": {}
  },
  "HurtByTimestamp": 0,
  "Attributes": [
    {
      "Base": 0.2505,
      "Name": "minecraft:generic.movement_speed"
    }
  ],
  "Invulnerable": 1,
  "FallFlying": 0,
  "PortalCooldown": 0,
  "AbsorptionAmount": 0.0,
  "FallDistance": 0.0,
  "TaterzenNPCTag": {
    "Messages": [],
    "Behaviour": "PASSIVE",
    "BungeeCommands": [],
    "skin": {},
    "PermissionLevel": 4,
    "SkinLayers": 127,
    "PathTargets": [],
    "Follow": {
      "Type": "NONE"
    },
    "Pose": "STANDING",
    "Commands": [],
    "movement": "NONE",
    "Tags": {
      "SneakNameType": 0,
      "AllowSounds": 0,
      "JumpAttack": 1,
      "DropsAllowed": 0,
      "Leashable": 0,
      "Pushable": 0
    },
    "Professions": []
  },
  "DeathTime": 0,
  "PersistenceRequired": 1,
  "Health": 20.0,
  "LeftHanded": 0,
  "Air": 300,
  "OnGround": 0,
  "HandItems": [
    {},
    {}
  ],
  "CustomName": "{\"text\":\"irunatbullets\"}",
  "Fire": -1,
  "ArmorItems": [
    {},
    {},
    {},
    {}
  ],
  "CanPickUpLoot": 0,
  "HurtTime": 0,
  "CustomNameVisible": 1
}

And here is one for a skin that seems to work:

{
  "Brain": {
    "memories": {}
  },
  "HurtByTimestamp": 0,
  "Attributes": [
    {
      "Base": 0.2505,
      "Name": "minecraft:generic.movement_speed"
    }
  ],
  "Invulnerable": 1,
  "FallFlying": 0,
  "PortalCooldown": 0,
  "AbsorptionAmount": 0.0,
  "FallDistance": 0.0,
  "TaterzenNPCTag": {
    "Messages": [],
    "Behaviour": "PASSIVE",
    "BungeeCommands": [],
    "skin": {
      "signature": "qGTIeSOPb61Hmex1kDbHl/iqQNUXDwTr4cVgab7/tOUL/d0TuT4zGp4K85giIzxtn5O9eaYsLb3XDBB5/VZORAt0+HR/GeYKIfywkbqdmN4xOd161HVtQrqnOaLO79GuuEe9RxmO/vg/mY74vspU1fcdBq1izRojoDKW2c0WyWdSi2zMIrAJsSl07FAeqUEYw5YK0RguFboUA2g0SmEVHYhmQiQgtq8iIQ8+izQHhFNyAePNBZ3fLupPIJU5VQ55RVurOTp5aTwJ2SxJfeU5aIg4I3+Qw6V6BL8NrhwzLou9g03H46/vM9ikrz40TSY8lEB/D489/eX4Wy4ehbDPgXr/Jzzrua/W7yipWhRs311jx5w/HIdecEsKqMnI6/YcunMydDjnhW9NhVbmM0BzgvA7c07E6QHuKFTW9HvjiItoLVcySxaylvP5YAF2kLDbVuh3RSmYywrTQQ2nCpaEtM2LKRO/xNPR7WHKfLllcdRC8WA2dU4nWL7c+Wa/lJzhatcx8J4ZRl0Ail2ZzCJJOaDJTlujerJDRYsDCs8LIiGC6r1gDWHG3uK9TUockA2VgMOw9E09KFxiT/yaa3NERLleZBJY6enafJ3zi6We5ZWBCA01sBLPrRFV1b0UA0Dhs+xQ5s7jP1yVGwUmyE68ynhMXqbbDEmkY2pLvyCQ2ZI=",
      "value": "ewogICJ0aW1lc3RhbXAiIDogMTYzMzgxNzU1ODU1MSwKICAicHJvZmlsZUlkIiA6ICJmMjY1NzMzZmUxMzE0YmUxYTA0ZjQ2NDM0MDlkMzRkOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJUcmVudDg3IiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2RhOTIxNTQ1YjdjZDgzM2FiYTkyNTA3NzA4YzQ1NDk2YTM0MjI2OTM0YjI5MjE4OGEzOTEwNzg4MGJiMTk5YWUiCiAgICB9CiAgfQp9"
    },
    "PermissionLevel": 4,
    "SkinLayers": 127,
    "PathTargets": [],
    "Follow": {
      "Type": "NONE"
    },
    "Pose": "STANDING",
    "Commands": [],
    "movement": "NONE",
    "Tags": {
      "SneakNameType": 0,
      "AllowSounds": 0,
      "JumpAttack": 1,
      "DropsAllowed": 0,
      "Leashable": 0,
      "Pushable": 0
    },
    "Professions": []
  },
  "DeathTime": 0,
  "PersistenceRequired": 1,
  "Health": 20.0,
  "LeftHanded": 0,
  "Air": 300,
  "OnGround": 0,
  "HandItems": [
    {},
    {}
  ],
  "CustomName": "{\"text\":\"trent87\"}",
  "Fire": -1,
  "ArmorItems": [
    {},
    {},
    {},
    {}
  ],
  "CanPickUpLoot": 0,
  "HurtTime": 0,
  "CustomNameVisible": 1
}

So it looks like the skin signature and value aren't being applied.

commented

That's so strange ... I'm not able to reproduce this in dev env :|

f57675da-be2a-48bb-9fde-6776bcb278fc.video-converter.com.mp4

I figured it out. You can't set skin from your own name, cause ... mojang?

Can you try setting any other skin?

Playing with my own account, I can't change skin to myself ...

7ceb8c8a-81b5-4d2e-ab04-a09b485e83e8.video-converter.com.mp4
commented

Thanks Mojang. Thanks for figuring that out, we'll just use a second player if we really need an irunatbullets in the game.

Edit: I'm blind, didn't see the commit above

commented

Just update, as it was fixed in 1.4.1 ๐Ÿ˜‰