package org.bukkit.craftbukkit.entity; import com.google.common.base.Preconditions; import net.minecraft.server.BlockPosition; import net.minecraft.server.EntityRaider; import org.bukkit.block.Block; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.entity.Raider; public abstract class CraftRaider extends CraftMonster implements Raider { public CraftRaider(CraftServer server, EntityRaider entity) { super(server, entity); } @Override public EntityRaider getHandle() { return (EntityRaider) super.getHandle(); } @Override public String toString() { return "CraftRaider"; } @Override public Block getPatrolTarget() { return getHandle().getPatrolTarget() == null ? null : CraftBlock.at(getHandle().world, getHandle().getPatrolTarget()); } @Override public void setPatrolTarget(Block block) { if (block == null) { getHandle().setPatrolTarget((BlockPosition) null); } else { Preconditions.checkArgument(block.getWorld().equals(this.getWorld()), "Block must be in same world"); getHandle().setPatrolTarget(new BlockPosition(block.getX(), block.getY(), block.getZ())); } } @Override public boolean isPatrolLeader() { return getHandle().isPatrolLeader(); } @Override public void setPatrolLeader(boolean leader) { getHandle().setPatrolLeader(leader); } }