CraftBukkit/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderCrystal.java
2021-11-22 09:00:00 +11:00

57 lines
1.7 KiB
Java

package org.bukkit.craftbukkit.entity;
import net.minecraft.core.BlockPosition;
import net.minecraft.world.entity.boss.enderdragon.EntityEnderCrystal;
import org.bukkit.Location;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EnderCrystal;
import org.bukkit.entity.EntityType;
public class CraftEnderCrystal extends CraftEntity implements EnderCrystal {
public CraftEnderCrystal(CraftServer server, EntityEnderCrystal entity) {
super(server, entity);
}
@Override
public boolean isShowingBottom() {
return getHandle().showsBottom();
}
@Override
public void setShowingBottom(boolean showing) {
getHandle().setShowBottom(showing);
}
@Override
public Location getBeamTarget() {
BlockPosition pos = getHandle().getBeamTarget();
return pos == null ? null : new Location(getWorld(), pos.getX(), pos.getY(), pos.getZ());
}
@Override
public void setBeamTarget(Location location) {
if (location == null) {
getHandle().setBeamTarget((BlockPosition) null);
} else if (location.getWorld() != getWorld()) {
throw new IllegalArgumentException("Cannot set beam target location to different world");
} else {
getHandle().setBeamTarget(new BlockPosition(location.getBlockX(), location.getBlockY(), location.getBlockZ()));
}
}
@Override
public EntityEnderCrystal getHandle() {
return (EntityEnderCrystal) entity;
}
@Override
public String toString() {
return "CraftEnderCrystal";
}
@Override
public EntityType getType() {
return EntityType.ENDER_CRYSTAL;
}
}