mirror of
https://github.com/libraryaddict/LibsDisguises.git
synced 2024-09-29 04:17:29 +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);
|
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()));
|
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.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) {
|
public VillagerType getVillagerType(Villager.Type type) {
|
||||||
|
@ -375,11 +375,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||||||
return CraftItemStack.asNMSCopy(itemStack);
|
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()));
|
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.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) {
|
public VillagerType getVillagerType(Villager.Type type) {
|
||||||
|
@ -376,11 +376,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||||||
return CraftItemStack.asNMSCopy(itemStack);
|
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()));
|
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.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) {
|
public VillagerType getVillagerType(Villager.Type type) {
|
||||||
|
@ -382,11 +382,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||||||
return CraftItemStack.asNMSCopy(itemStack);
|
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()));
|
VillagerType nmsVillagerType = Registry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||||
VillagerProfession nmsVillagerProfession = Registry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.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) {
|
public VillagerType getVillagerType(Villager.Type type) {
|
||||||
|
@ -432,11 +432,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||||||
return CraftItemStack.asNMSCopy(itemStack);
|
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()));
|
VillagerType nmsVillagerType = BuiltInRegistries.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||||
VillagerProfession nmsVillagerProfession = BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.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) {
|
public VillagerType getVillagerType(Villager.Type type) {
|
||||||
|
@ -427,11 +427,11 @@ public class ReflectionManager implements ReflectionManagerAbstract {
|
|||||||
return CraftItemStack.asNMSCopy(itemStack);
|
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()));
|
VillagerType nmsVillagerType = BuiltInRegistries.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(villagerType.getKey()));
|
||||||
VillagerProfession nmsVillagerProfession = BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(villagerProfession.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) {
|
public VillagerType getVillagerType(Villager.Type type) {
|
||||||
|
@ -16,8 +16,15 @@ public class VillagerWatcher extends AbstractVillagerWatcher {
|
|||||||
public VillagerWatcher(Disguise disguise) {
|
public VillagerWatcher(Disguise disguise) {
|
||||||
super(disguise);
|
super(disguise);
|
||||||
|
|
||||||
|
setLevel(5);
|
||||||
|
|
||||||
if (DisguiseConfig.isRandomDisguises()) {
|
if (DisguiseConfig.isRandomDisguises()) {
|
||||||
setProfession(Profession.values()[DisguiseUtilities.random.nextInt(Profession.values().length)]);
|
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)
|
@NmsAddedIn(NmsVersion.v1_14)
|
||||||
public void setLevel(int level) {
|
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) {
|
public static Object getNmsVillagerData(VillagerData data) {
|
||||||
if (nmsReflection != null) {
|
if (nmsReflection != null) {
|
||||||
return nmsReflection.getNmsVillagerData(data.getType(), data.getProfession());
|
return nmsReflection.getNmsVillagerData(data.getType(), data.getProfession(), data.getLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
Object type = getVillagerType(data.getType());
|
Object type = getVillagerType(data.getType());
|
||||||
|
@ -108,7 +108,7 @@ public interface ReflectionManagerAbstract {
|
|||||||
|
|
||||||
Object getNmsItem(ItemStack itemStack);
|
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);
|
Object getVillagerType(Villager.Type type);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user