Population number doesn't reflect actual village population
ncottrill opened this issue ยท 2 comments
Describe the bug
A few of us on our server have taken a census and found that we have many more names and citizens in our list in the village ... than we actually have. I fenced my village in right at the beginning and made sure there were no holes in the ground. So, some of the villagers either despawned or were visitors that didn't stay?? I'm not sure.
To Reproduce
Steps to reproduce the behavior:
(I'm not sure how to reproduce this.)
I am supposed to have 90 citizens in the village -- and I'm sure I don't. There are some names on the list that I've intentionally gone all around the village to find and never see them. With no way to do a citizen recall, I can't verify whether that villager actually exists or not.
Screenshots
Version
MCA Version - 7.4.4,
Minecraft version - 1.19.2
Fabric
Latest.log
latest.log
So, how about here (AdminCommand.java) listing all the entities that were found?
private static int assumeNameDead(CommandContext<ServerCommandSource> ctx) {
String name = StringArgumentType.getString(ctx, "name");
FamilyTree tree = FamilyTree.get(ctx.getSource().getWorld());
List<FamilyTreeNode> collect = tree.getAllWithName(name).filter(n -> !n.isDeceased()).toList();
if (collect.isEmpty()) {
fail("Villager does not exist.", ctx);
} else if (collect.size() == 1) {
collect.get(0).setDeceased(true);
assumeDead(ctx, collect.get(0).id());
success("Villager has been marked as deceased", ctx);
} else {
fail("Villager not unique, use uuid!", ctx);
<<< for all in collect: list name, village name, UUID >>> <<------
}
return 0;
}
Could you add a " /remote execute " function? This would at least give me some control of the villagers.
Or, maybe " /locate villager " ?
I see that there is an "assume villager dead" command - but it always returns "name not unique use UUID". It would be better if it would return the multiple UUIDs to us and which village they are associated with. Then we could delete the correct one.