#1033: Add Villager#zombify

By: Doc <nachito94@msn.com>
This commit is contained in:
CraftBukkit/Spigot
2022-04-15 13:48:55 +10:00
parent 8400a7987a
commit ef79686997
2 changed files with 34 additions and 9 deletions

View File

@@ -4,6 +4,8 @@ import com.google.common.base.Preconditions;
import java.util.Locale;
import net.minecraft.core.BlockPosition;
import net.minecraft.core.IRegistry;
import net.minecraft.world.entity.monster.EntityZombie;
import net.minecraft.world.entity.monster.EntityZombieVillager;
import net.minecraft.world.entity.npc.EntityVillager;
import net.minecraft.world.entity.npc.VillagerProfession;
import net.minecraft.world.level.block.BlockBed;
@@ -14,8 +16,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Villager;
import org.bukkit.entity.Villager.Profession;
import org.bukkit.entity.Villager.Type;
import org.bukkit.entity.ZombieVillager;
public class CraftVillager extends CraftAbstractVillager implements Villager {
@@ -121,6 +122,12 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
getHandle().setUnhappy();
}
@Override
public ZombieVillager zombify() {
EntityZombieVillager entityzombievillager = EntityZombie.zombifyVillager(getHandle().level.getMinecraftWorld(), getHandle(), getHandle().blockPosition(), isSilent(), true);
return (entityzombievillager != null) ? (ZombieVillager) entityzombievillager.getBukkitEntity() : null;
}
public static Profession nmsToBukkitProfession(VillagerProfession nms) {
return Profession.valueOf(IRegistry.VILLAGER_PROFESSION.getKey(nms).getPath().toUpperCase(Locale.ROOT));
}