I have a question involving the Create Shops filter on MCEdit. I have made a custom villager from a chest that has the specific trades i want it to have. But I can't seem to figure out a way to give this villager a name so he won't despawn. I tried naming the chest that I used for the filter, but that didn't seem to work. Thanks for any help!
Yeah, I know a spawn egg generally works, but my issue is that this villager is generated using a chest (from the Createshops filter), so there is no way to name the spawn egg, since it doesn't exist
HUGE EDIT: Please take a look at the Villager mechanics on the Minecraft Wiki. They should help. Apparently, Villagers don't despawn under certain conditions. Also, there is talk about Villagers never despawning (even without a custom name) and about Villagers sometimes despawning without a custom name. Another thing, you might be able to name a Villager with MCEdit, using a filter. Also, Baby Villagers can be named using Name Tags, if you can get one or change the current Villager to make it a baby.
You cannot use Name Tags on fully-grown Villagers. However, you can modify the NBT data of the Villager to give it a custom name. Unfortunately, there is no way in vanilla (as far as I know, and I've looked everywhere) to edit the NBT of a mob that has already been spawned. You have to use external tools/mods to do this. You could use something like NBTExplorer, a program that allows you to edit NBT, to edit the NBT of the Villager, but to do that you'd need to find the Villager in the chunk data, which would take a long time. An easier way to edit the NBT of the Villager would be to use the In-Game NBTEdit mod, created by Davidee. Or, you could use the "/summon" command to summon a Villager with custom NBT (including trades and a name). This way you wouldn't need to download the In-Game NBTEdit mod and you wouldn't need to use the CreateShops filter.
Here's a video explaining how to summon Villagers with custom trades (and names) in vanilla:
Btw, just add the "CustomName" tag to it if you want the Villager to have a name when spawned: /summon Villager ~ ~1 ~ {Profession:1,CustomName:NameGoesHere,CustomNameVisible:1}
If you want to use the In-Game NBTEdit method, here's a tutorial by me:
1. Download the mod.
2. In Minecraft, use the command "/nbtedit" while looking at the Villager.
3. Open "ROOT: (TagCompound)"
5. If you want to make the custom name visible, click "CustomNameVisible" and then click "Edit". If not, ignore this step and step 6.
6. Change the "Value" of "CustomNameVisible" to 1 instead of 0, then click "Save".
7. Scroll down to "CustomName", click it, then click "Edit". Change the "Value" of "CustomName" to the name for your Villager. Then, click "Save". I changed the Villager's name to "Test".
8. Click "Save".
9. Now, the Villager should be named.
10. The name will appear in the Villager's inventory.
HUGE EDIT: Please take a look at the Villager mechanics on the Minecraft Wiki. They should help. Apparently, Villagers don't despawn under certain conditions. Also, there is talk about Villagers never despawning (even without a custom name) and about Villagers sometimes despawning without a custom name. Another thing, you might be able to name a Villager with MCEdit, using a filter. Also, Baby Villagers can be named using Name Tags, if you can get one or change the current Villager to make it a baby.
You cannot use Name Tags on fully-grown Villagers. However, you can modify the NBT data of the Villager to give it a custom name. Unfortunately, there is no way in vanilla (as far as I know, and I've looked everywhere) to edit the NBT of a mob that has already been spawned. You have to use external tools/mods to do this. You could use something like NBTExplorer, a program that allows you to edit NBT, to edit the NBT of the Villager, but to do that you'd need to find the Villager in the chunk data, which would take a long time. An easier way to edit the NBT of the Villager would be to use the In-Game NBTEdit mod, created by Davidee. Or, you could use the "/summon" command to summon a Villager with custom NBT (including trades and a name). This way you wouldn't need to download the In-Game NBTEdit mod and you wouldn't need to use the CreateShops filter.
Here's a video explaining how to summon Villagers with custom trades (and names) in vanilla:
Btw, just add the "CustomName" tag to it if you want the Villager to have a name when spawned: /summon Villager ~ ~1 ~ {Profession:1,CustomName:NameGoesHere,CustomNameVisible:1}
If you want to use the In-Game NBTEdit method, here's a tutorial by me:
1. Download the mod.
2. In Minecraft, use the command "/nbtedit" while looking at the Villager.
3. Open "ROOT: (TagCompound)"
5. If you want to make the custom name visible, click "CustomNameVisible" and then click "Edit". If not, ignore this step and step 6.
6. Change the "Value" of "CustomNameVisible" to 1 instead of 0, then click "Save".
7. Scroll down to "CustomName", click it, then click "Edit". Change the "Value" of "CustomName" to the name for your Villager. Then, click "Save". I changed the Villager's name to "Test".
8. Click "Save".
9. Now, the Villager should be named.
10. The name will appear in the Villager's inventory.
They're already using MCEdit, might as well also name the spawn egg, right?
You cannot use Name Tags on fully-grown Villagers. However, you can modify the NBT data of the Villager to give it a custom name. Unfortunately, there is no way in vanilla (as far as I know, and I've looked everywhere) to edit the NBT of a mob that has already been spawned. You have to use external tools/mods to do this. You could use something like NBTExplorer, a program that allows you to edit NBT, to edit the NBT of the Villager, but to do that you'd need to find the Villager in the chunk data, which would take a long time. An easier way to edit the NBT of the Villager would be to use the In-Game NBTEdit mod, created by Davidee. Or, you could use the "/summon" command to summon a Villager with custom NBT (including trades and a name). This way you wouldn't need to download the In-Game NBTEdit mod and you wouldn't need to use the CreateShops filter.
Here's a video explaining how to summon Villagers with custom trades (and names) in vanilla:
Btw, just add the "CustomName" tag to it if you want the Villager to have a name when spawned: /summon Villager ~ ~1 ~ {Profession:1,CustomName:NameGoesHere,CustomNameVisible:1}
If you want to use the In-Game NBTEdit method, here's a tutorial by me:
1. Download the mod.
2. In Minecraft, use the command "/nbtedit" while looking at the Villager.
3. Open "ROOT: (TagCompound)"
5. If you want to make the custom name visible, click "CustomNameVisible" and then click "Edit". If not, ignore this step and step 6.
6. Change the "Value" of "CustomNameVisible" to 1 instead of 0, then click "Save".
7. Scroll down to "CustomName", click it, then click "Edit". Change the "Value" of "CustomName" to the name for your Villager. Then, click "Save". I changed the Villager's name to "Test".
8. Click "Save".
9. Now, the Villager should be named.
10. The name will appear in the Villager's inventory.
Hope I helped.
Wow, this was so helpful. Thank you!