package net.minecraft.server;
import javax.annotation.Nullable;
public class EntitySkeleton extends EntitySkeletonAbstract {
public EntitySkeleton(World world) {
super(world);
}
public static void a(DataConverterManager dataconvertermanager) {
EntityInsentient.a(dataconvertermanager, EntitySkeleton.class);
}
@Nullable
protected MinecraftKey J() {
return LootTables.ao;
}
protected SoundEffect G() {
return SoundEffects.fP;
}
protected SoundEffect bW() {
return SoundEffects.fU;
}
protected SoundEffect bX() {
return SoundEffects.fQ;
}
SoundEffect o() {
return SoundEffects.fW;
}
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, 0), 0.0F);
}
}
super.die(damagesource); // CraftBukkit - moved from above
}
protected EntityArrow a(float f) {
ItemStack itemstack = this.getEquipment(EnumItemSlot.OFFHAND);
if (itemstack.getItem() == Items.SPECTRAL_ARROW) {
EntitySpectralArrow entityspectralarrow = new EntitySpectralArrow(this.world, this);
entityspectralarrow.a((EntityLiving) this, f);
return entityspectralarrow;
} else {
EntityArrow entityarrow = super.a(f);
if (itemstack.getItem() == Items.TIPPED_ARROW && entityarrow instanceof EntityTippedArrow) {
((EntityTippedArrow) entityarrow).a(itemstack);
}
return entityarrow;
}
}
}