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;
}
}