Files
Rekkit/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java
2012-03-01 01:12:41 +00:00

42 lines
1.3 KiB
Java

package org.bukkit.craftbukkit.entity;
import net.minecraft.server.DamageSource;
import net.minecraft.server.EntityComplex;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.ComplexLivingEntity;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.LivingEntity;
public abstract class CraftComplexLivingEntity extends CraftLivingEntity implements ComplexLivingEntity {
public CraftComplexLivingEntity(CraftServer server, EntityComplex entity) {
super(server, entity);
}
@Override
public EntityComplex getHandle() {
return (EntityComplex) entity;
}
@Override
public String toString() {
return "CraftComplexLivingEntity";
}
@Override
public void damage(int amount, org.bukkit.entity.Entity source) {
DamageSource reason = DamageSource.GENERIC;
if (source instanceof HumanEntity) {
reason = DamageSource.playerAttack(((CraftHumanEntity) source).getHandle());
} else if (source instanceof LivingEntity) {
reason = DamageSource.mobAttack(((CraftLivingEntity) source).getHandle());
}
if (entity instanceof EntityComplex) {
((EntityComplex) entity).dealDamage(reason, amount);
} else {
entity.damageEntity(reason, amount);
}
}
}