mojira.dev
MC-47630

Villager Career Crash

When using a custom villager with a career level of 100, if a purchase is made the game crashes. On re-log the item for sale appears in inventory and item used to purchase it is missing from inventory.

What I expected to happen was...:
For transaction to go smoothly with no crashes.

What actually happened was...:
The game crashed

Steps to Reproduce:
1. Summon villager using code provided.

/summon Villager ~ ~-1 ~ {Career:4,CareerLevel:100,Profession:4,CustomName:Head Hunter,CustomNameVisible:0,Offers:{Recipes:[{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Notch,display:{Name:"Notch"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Herobrine,display:{Name:"Herobrine"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:jeb_,display:{Name:"jeb"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Grumm,display:{Name:"Grumm"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Dinnerbone,display:{Name:"Dinnerbone"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:C418,display:{Name:"C418"}}}},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:SkythekidRS,display:{Name:"SkyDoesMinecraft"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:SSundee,display:{Name:"SSundee"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Smart_SSundee,display:{Name:"Smart SSundee"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:ASFJerome,display:{Name:"Jerome"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:swimmingbird941,display:{Name:"swimmingbird941"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:dragnoz,display:{Name:"Dragnoz"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Panda4994,display:{Name:"Panda4994"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Docm77,display:{Name:"Docm77"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:JL2579,display:{Name:"JL2579"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Ground15,display:{Name:"Ground15"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:oldGanon,display:{Name:"oldGanon"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:preisi,display:{Name:"preisi"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Wubbi,display:{Name:"Wubbi"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Bananenkrieger,display:{Name:"Bananenkrieger"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:SethBling,display:{Name:"SethBling"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:commanderbass,display:{Name:"Commanderbass"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Villager,display:{Name:"Villager"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Golem,display:{Name:"Golem"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Squid,display:{Name:"Squid"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Sheep,display:{Name:"Sheep"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Cow,display:{Name:"Cow"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_MushroomCow,display:{Name:"Mushroom Cow"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Pig,display:{Name:"Pig"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Chicken,display:{Name:"Chicken"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_PigZombie,display:{Name:"Pig Zombie"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Blaze,display:{Name:"Blaze"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_CaveSpider,display:{Name:"CaveSpider"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Enderman,display:{Name:"Enderman"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Ghast,display:{Name:"Ghast"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Spider,display:{Name:"Spider"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Slime,display:{Name:"Slime"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_LavaSlime,display:{Name:"Lava Slime"}}},maxUses:999,uses:0}]}}
/summon Villager ~ ~-1 ~ {Career:4,CareerLevel:100,Profession:4,CustomName:Head Hunter,CustomNameVisible:0,Offers:{Recipes:[{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Notch,display:{Name:"Notch"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Herobrine,display:{Name:"Herobrine"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:jeb_,display:{Name:"jeb"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Grumm,display:{Name:"Grumm"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Dinnerbone,display:{Name:"Dinnerbone"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:C418,display:{Name:"C418"}}}},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:SkythekidRS,display:{Name:"SkyDoesMinecraft"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:SSundee,display:{Name:"SSundee"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Smart_SSundee,display:{Name:"Smart SSundee"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:ASFJerome,display:{Name:"Jerome"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:swimmingbird941,display:{Name:"swimmingbird941"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:dragnoz,display:{Name:"Dragnoz"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Panda4994,display:{Name:"Panda4994"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Docm77,display:{Name:"Docm77"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:JL2579,display:{Name:"JL2579"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Ground15,display:{Name:"Ground15"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:oldGanon,display:{Name:"oldGanon"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:preisi,display:{Name:"preisi"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Wubbi,display:{Name:"Wubbi"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:Bananenkrieger,display:{Name:"Bananenkrieger"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:SethBling,display:{Name:"SethBling"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:commanderbass,display:{Name:"Commanderbass"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Villager,display:{Name:"Villager"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Golem,display:{Name:"Golem"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Squid,display:{Name:"Squid"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Sheep,display:{Name:"Sheep"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Cow,display:{Name:"Cow"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_MushroomCow,display:{Name:"Mushroom Cow"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Pig,display:{Name:"Pig"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Chicken,display:{Name:"Chicken"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_PigZombie,display:{Name:"Pig Zombie"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Blaze,display:{Name:"Blaze"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_CaveSpider,display:{Name:"CaveSpider"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Enderman,display:{Name:"Enderman"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Ghast,display:{Name:"Ghast"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Spider,display:{Name:"Spider"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_Slime,display:{Name:"Slime"}}},maxUses:999,uses:0},{buy:{id:name_tag,Count:2,tag:{display:{Name:Bitcoin}}},sell:{id:skull,Damage:3,Count:1,tag:{SkullOwner:MHF_LavaSlime,display:{Name:"Lava Slime"}}},maxUses:999,uses:0}]}}

2. Get a name tag and rename it Bitcoin

3. Purchase a head
4. 3 out of 4 times your game should crash.

Time: 2/6/14 2:14 PM
Description: Ticking entity

java.lang.ArrayIndexOutOfBoundsException: 3
	at aab.cf(SourceFile:442)
	at aab.bv(SourceFile:159)
	at tb.bt(SourceFile:451)
	at ta.e(SourceFile:1390)
	at tb.e(SourceFile:313)
	at sa.e(SourceFile:119)
	at ta.l_(SourceFile:1258)
Time: 2/6/14 2:14 PM
Description: Ticking entity

java.lang.ArrayIndexOutOfBoundsException: 3
	at aab.cf(SourceFile:442)
	at aab.bv(SourceFile:159)
	at tb.bt(SourceFile:451)
	at ta.e(SourceFile:1390)
	at tb.e(SourceFile:313)
	at sa.e(SourceFile:119)
	at ta.l_(SourceFile:1258)

Linked issues

Attachments

Comments 2

Confirmed in 14w08a

This is not caused by the "CareerLevel" tag, but rather, your "Career" and "Profession" combo. You've provided an invalid combo, where villagers with a profession of 4 only have careers of 0 or 1, while you've inserted 4. When you trade with the villager and exit the GUI, it attempts to update its trades based on its career. Since you're using an invalid career, the game will crash. Use a value of 0 or 1 for "Career" and you won't have issues, and can find the proper values on the wiki: http://minecraft.gamepedia.com/Villager#Professions_and_Careers

Christian Goudy

(Unassigned)

Unconfirmed

Minecraft 14w06b

Retrieved