package net.minecraft.server; import javax.annotation.Nullable; public class EntitySkeletonWither extends EntitySkeletonAbstract { public EntitySkeletonWither(World world) { super(world); this.setSize(0.7F, 2.4F); this.fireProof = true; } public static void a(DataConverterManager dataconvertermanager) { EntityInsentient.a(dataconvertermanager, EntitySkeletonWither.class); } @Nullable protected MinecraftKey J() { return LootTables.ap; } protected SoundEffect G() { return SoundEffects.hD; } protected SoundEffect bW() { return SoundEffects.hF; } protected SoundEffect bX() { return SoundEffects.hE; } SoundEffect o() { return SoundEffects.hG; } public void die(DamageSource damagesource) { // super.die(damagesource); // CraftBukkit if (damagesource.getEntity() instanceof EntityCreeper) { EntityCreeper entitycreeper = (EntityCreeper) damagesource.getEntity(); if (entitycreeper.isPowered() && entitycreeper.canCauseHeadDrop()) { entitycreeper.setCausedHeadDrop(); this.a(new ItemStack(Items.SKULL, 1, 1), 0.0F); } } super.die(damagesource); // CraftBukkit - moved from above } protected void a(DifficultyDamageScaler difficultydamagescaler) { this.setSlot(EnumItemSlot.MAINHAND, new ItemStack(Items.STONE_SWORD)); } protected void b(DifficultyDamageScaler difficultydamagescaler) {} @Nullable public GroupDataEntity prepare(DifficultyDamageScaler difficultydamagescaler, @Nullable GroupDataEntity groupdataentity) { GroupDataEntity groupdataentity1 = super.prepare(difficultydamagescaler, groupdataentity); this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(4.0D); this.dh(); return groupdataentity1; } public float getHeadHeight() { return 2.1F; } public boolean B(Entity entity) { if (!super.B(entity)) { return false; } else { if (entity instanceof EntityLiving) { ((EntityLiving) entity).addEffect(new MobEffect(MobEffects.WITHER, 200)); } return true; } } protected EntityArrow a(float f) { EntityArrow entityarrow = super.a(f); entityarrow.setOnFire(100); return entityarrow; } }