57 lines
1.7 KiB
Java
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;
|
|
}
|
|
}
|