use of net.minecraft.world.entity.npc.VillagerProfession in project MyPet by xXKeyleXx.
the class EntityMyVillager method updateVisuals.
@Override
public void updateVisuals() {
this.getEntityData().set(AGE_WATCHER, getMyPet().isBaby());
String professionKey = MyVillager.Profession.values()[getMyPet().getProfession()].getKey();
VillagerProfession profession = Registry.VILLAGER_PROFESSION.get(new ResourceLocation(professionKey));
// TODO
VillagerType type = Registry.VILLAGER_TYPE.get(new ResourceLocation(getMyPet().getType().getKey()));
this.getEntityData().set(PROFESSION_WATCHER, new VillagerData(type, profession, getMyPet().getVillagerLevel()));
}
use of net.minecraft.world.entity.npc.VillagerProfession in project MyPet by xXKeyleXx.
the class EntityMyVillager method updateVisuals.
@Override
public void updateVisuals() {
this.getEntityData().set(AGE_WATCHER, getMyPet().isBaby());
String professionKey = MyVillager.Profession.values()[getMyPet().getProfession()].getKey();
VillagerProfession profession = Registry.VILLAGER_PROFESSION.get(new ResourceLocation(professionKey));
// TODO
VillagerType type = Registry.VILLAGER_TYPE.get(new ResourceLocation(getMyPet().getType().getKey()));
this.getEntityData().set(PROFESSION_WATCHER, new VillagerData(type, profession, getMyPet().getVillagerLevel()));
}
use of net.minecraft.world.entity.npc.VillagerProfession in project MinecraftForge by MinecraftForge.
the class VillagerTradingManager method postVillagerEvents.
/**
* Posts a VillagerTradesEvent for each registered profession.
*/
private static void postVillagerEvents() {
for (VillagerProfession prof : ForgeRegistries.PROFESSIONS) {
Int2ObjectMap<ItemListing[]> trades = VANILLA_TRADES.getOrDefault(prof, new Int2ObjectOpenHashMap<>());
Int2ObjectMap<List<ItemListing>> mutableTrades = new Int2ObjectOpenHashMap<>();
for (int i = 1; i < 6; i++) {
mutableTrades.put(i, NonNullList.create());
}
trades.int2ObjectEntrySet().forEach(e -> {
Arrays.stream(e.getValue()).forEach(mutableTrades.get(e.getIntKey())::add);
});
MinecraftForge.EVENT_BUS.post(new VillagerTradesEvent(mutableTrades, prof));
Int2ObjectMap<ItemListing[]> newTrades = new Int2ObjectOpenHashMap<>();
mutableTrades.int2ObjectEntrySet().forEach(e -> newTrades.put(e.getIntKey(), e.getValue().toArray(new ItemListing[0])));
VillagerTrades.TRADES.put(prof, newTrades);
}
}
use of net.minecraft.world.entity.npc.VillagerProfession in project MyPet by xXKeyleXx.
the class EntityMyZombieVillager method updateVisuals.
@Override
public void updateVisuals() {
getEntityData().set(BABY_WATCHER, getMyPet().isBaby());
String professionKey = MyVillager.Profession.values()[getMyPet().getProfession()].getKey();
VillagerProfession profession = Registry.VILLAGER_PROFESSION.get(new ResourceLocation(professionKey));
// TODO
VillagerType type = Registry.VILLAGER_TYPE.get(new ResourceLocation(getMyPet().getType().getKey()));
getEntityData().set(PROFESSION_WATCHER, new VillagerData(type, profession, getMyPet().getTradingLevel()));
Bukkit.getScheduler().runTaskLater(MyPetApi.getPlugin(), () -> {
if (getMyPet().getStatus() == MyPet.PetState.Here) {
for (EquipmentSlot slot : EquipmentSlot.values()) {
setPetEquipment(slot, CraftItemStack.asNMSCopy(getMyPet().getEquipment(slot)));
}
}
}, 5L);
}
use of net.minecraft.world.entity.npc.VillagerProfession in project MyPet by xXKeyleXx.
the class EntityMyZombieVillager method updateVisuals.
@Override
public void updateVisuals() {
getEntityData().set(BABY_WATCHER, getMyPet().isBaby());
String professionKey = MyVillager.Profession.values()[getMyPet().getProfession()].getKey();
VillagerProfession profession = Registry.VILLAGER_PROFESSION.get(new ResourceLocation(professionKey));
// TODO
VillagerType type = Registry.VILLAGER_TYPE.get(new ResourceLocation(getMyPet().getType().getKey()));
getEntityData().set(PROFESSION_WATCHER, new VillagerData(type, profession, getMyPet().getTradingLevel()));
Bukkit.getScheduler().runTaskLater(MyPetApi.getPlugin(), () -> {
if (getMyPet().getStatus() == MyPet.PetState.Here) {
for (EquipmentSlot slot : EquipmentSlot.values()) {
setPetEquipment(slot, CraftItemStack.asNMSCopy(getMyPet().getEquipment(slot)));
}
}
}, 5L);
}
Aggregations