package be.isach.ultracosmetics.v1_11_R1.customentities; import be.isach.ultracosmetics.UltraCosmeticsData; import be.isach.ultracosmetics.cosmetics.pets.IPetCustomEntity; import be.isach.ultracosmetics.cosmetics.pets.Pet; import be.isach.ultracosmetics.util.Particles; import be.isach.ultracosmetics.util.UtilParticles; import be.isach.ultracosmetics.v1_11_R1.pets.CustomEntityPet; import be.isach.ultracosmetics.v1_11_R1.pets.PetPumpling; import net.minecraft.server.v1_11_R1.*; import org.bukkit.entity.Zombie; /** * @author RadBuilder */ public class Pumpling extends EntityZombie implements IPetCustomEntity { private CustomEntityPet pet = null; public Pumpling(World world) { super(world); } public Pumpling(World world, CustomEntityPet pet) { super(world); this.pet = pet; } public org.bukkit.entity.Entity getEntity() { return getBukkitEntity(); } @Override protected SoundEffect G() { // say if (isCustomEntity()) { a(SoundEffects.bM, 0.05f, 2f); return null; } else return super.G(); } @Override protected SoundEffect bW() { // Hurt if (isCustomEntity()) return null; else return super.bW(); } @Override protected SoundEffect bX() { // Death if (isCustomEntity()) return null; else return super.bX(); } @Override protected void a(BlockPosition blockposition, Block block) { if (isCustomEntity()) return; super.a(blockposition, block); } @Override public String getName() { return LocaleI18n.get("entity.Zombie.name"); } @Override public void A_() { super.A_(); if (!isCustomEntity()) return; fireTicks = 0; UtilParticles.display(Particles.FLAME, 0.2f, 0.2f, 0.2f, ((Zombie) getBukkitEntity()).getEyeLocation(), 3); UltraCosmeticsData.get().getVersionManager().getPathfinderUtil().removePathFinders(getBukkitEntity()); pet.getFollowTask().follow(pet.getPlayer()); setInvisible(true); setBaby(true); setSlot(EnumItemSlot.HEAD, new ItemStack(Blocks.PUMPKIN)); } private boolean isCustomEntity() { return CustomEntities.customEntities.contains(this); } }