mirror of
https://github.com/libraryaddict/LibsDisguises.git
synced 2024-06-24 10:14:51 +02:00
Fix villager level not working, added villager biome & level randomization
This commit is contained in:
parent
32d1b7a972
commit
a1dde894f7
|
@ -375,11 +375,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||
return CraftItemStack.asNMSCopy(itemStack);
|
||||
}
|
||||
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession) {
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level) {
|
||||
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.getKey()));
|
||||
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, 1);
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, level);
|
||||
}
|
||||
|
||||
public VillagerType getVillagerType(Villager.Type type) {
|
||||
|
|
|
@ -375,11 +375,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||
return CraftItemStack.asNMSCopy(itemStack);
|
||||
}
|
||||
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession) {
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level) {
|
||||
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.getKey()));
|
||||
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, 1);
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, level);
|
||||
}
|
||||
|
||||
public VillagerType getVillagerType(Villager.Type type) {
|
||||
|
|
|
@ -376,11 +376,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||
return CraftItemStack.asNMSCopy(itemStack);
|
||||
}
|
||||
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession) {
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level) {
|
||||
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.getKey()));
|
||||
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, 1);
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, level);
|
||||
}
|
||||
|
||||
public VillagerType getVillagerType(Villager.Type type) {
|
||||
|
|
|
@ -382,11 +382,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||
return CraftItemStack.asNMSCopy(itemStack);
|
||||
}
|
||||
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession) {
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level) {
|
||||
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.getKey()));
|
||||
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, 1);
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, level);
|
||||
}
|
||||
|
||||
public VillagerType getVillagerType(Villager.Type type) {
|
||||
|
|
|
@ -432,11 +432,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||
return CraftItemStack.asNMSCopy(itemStack);
|
||||
}
|
||||
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession) {
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level) {
|
||||
VillagerType nmsVillagerType = BuiltInRegistries.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||
VillagerProfession nmsVillagerProfession = BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.getKey()));
|
||||
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, 1);
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, level);
|
||||
}
|
||||
|
||||
public VillagerType getVillagerType(Villager.Type type) {
|
||||
|
|
|
@ -427,11 +427,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||
return CraftItemStack.asNMSCopy(itemStack);
|
||||
}
|
||||
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession) {
|
||||
public VillagerData getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level) {
|
||||
VillagerType nmsVillagerType = BuiltInRegistries.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||
VillagerProfession nmsVillagerProfession = BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.getKey()));
|
||||
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, 1);
|
||||
return new net.minecraft.world.entity.npc.VillagerData(nmsVillagerType, nmsVillagerProfession, level);
|
||||
}
|
||||
|
||||
public VillagerType getVillagerType(Villager.Type type) {
|
||||
|
|
|
@ -16,8 +16,15 @@ public class VillagerWatcher extends AbstractVillagerWatcher {
|
|||
public VillagerWatcher(Disguise disguise) {
|
||||
super(disguise);
|
||||
|
||||
setLevel(5);
|
||||
|
||||
if (DisguiseConfig.isRandomDisguises()) {
|
||||
setProfession(Profession.values()[DisguiseUtilities.random.nextInt(Profession.values().length)]);
|
||||
|
||||
if (NmsVersion.v1_14.isSupported()) {
|
||||
setBiome(Villager.Type.values()[DisguiseUtilities.random.nextInt(Villager.Type.values().length)]);
|
||||
setLevel(DisguiseUtilities.random.nextInt(5) + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,6 +86,6 @@ public class VillagerWatcher extends AbstractVillagerWatcher {
|
|||
|
||||
@NmsAddedIn(NmsVersion.v1_14)
|
||||
public void setLevel(int level) {
|
||||
setVillagerData(new VillagerData(getType(), getProfession(), level));
|
||||
setVillagerData(new VillagerData(getType(), getProfession(), Math.max(1, Math.min(5, level))));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1693,7 +1693,7 @@ public class ReflectionManager {
|
|||
|
||||
public static Object getNmsVillagerData(VillagerData data) {
|
||||
if (nmsReflection != null) {
|
||||
return nmsReflection.getNmsVillagerData(data.getType(), data.getProfession());
|
||||
return nmsReflection.getNmsVillagerData(data.getType(), data.getProfession(), data.getLevel());
|
||||
}
|
||||
|
||||
Object type = getVillagerType(data.getType());
|
||||
|
|
|
@ -108,7 +108,7 @@ public interface ReflectionManagerAbstract {
|
|||
|
||||
Object getNmsItem(ItemStack itemStack);
|
||||
|
||||
Object getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession);
|
||||
Object getNmsVillagerData(Villager.Type villagerType, Villager.Profession villagerProfession, int level);
|
||||
|
||||
Object getVillagerType(Villager.Type type);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user