2023-06-08 01:30:00 +10:00

68 lines
1.8 KiB
Java

package org.bukkit.craftbukkit.entity;
import com.google.common.base.Preconditions;
import net.minecraft.world.entity.raid.EntityRaider;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftSound;
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().level(), getHandle().getPatrolTarget());
}
@Override
public void setPatrolTarget(Block block) {
if (block == null) {
getHandle().setPatrolTarget(null);
} else {
Preconditions.checkArgument(block.getWorld().equals(this.getWorld()), "Block must be in same world");
getHandle().setPatrolTarget(((CraftBlock) block).getPosition());
}
}
@Override
public boolean isPatrolLeader() {
return getHandle().isPatrolLeader();
}
@Override
public void setPatrolLeader(boolean leader) {
getHandle().setPatrolLeader(leader);
}
@Override
public boolean isCanJoinRaid() {
return getHandle().canJoinRaid();
}
@Override
public void setCanJoinRaid(boolean join) {
getHandle().setCanJoinRaid(join);
}
@Override
public Sound getCelebrationSound() {
return CraftSound.getBukkit(getHandle().getCelebrateSound());
}
}