package org.bukkit.craftbukkit.entity; import net.minecraft.server.BlockPosition; import net.minecraft.server.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().isShowingBottom(); } @Override public void setShowingBottom(boolean showing) { getHandle().setShowingBottom(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"; } public EntityType getType() { return EntityType.ENDER_CRYSTAL; } }