2020-06-25 10:00:00 +10:00

78 lines
2.0 KiB
Java

package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityFireball;
import net.minecraft.server.MathHelper;
import org.apache.commons.lang.Validate;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Fireball;
import org.bukkit.projectiles.ProjectileSource;
import org.bukkit.util.Vector;
public class CraftFireball extends AbstractProjectile implements Fireball {
public CraftFireball(CraftServer server, EntityFireball entity) {
super(server, entity);
}
@Override
public float getYield() {
return getHandle().bukkitYield;
}
@Override
public boolean isIncendiary() {
return getHandle().isIncendiary;
}
@Override
public void setIsIncendiary(boolean isIncendiary) {
getHandle().isIncendiary = isIncendiary;
}
@Override
public void setYield(float yield) {
getHandle().bukkitYield = yield;
}
@Override
public ProjectileSource getShooter() {
return getHandle().projectileSource;
}
@Override
public void setShooter(ProjectileSource shooter) {
if (shooter instanceof CraftLivingEntity) {
getHandle().setShooter(((CraftLivingEntity) shooter).getHandle());
} else {
getHandle().setShooter(null);
}
getHandle().projectileSource = shooter;
}
@Override
public Vector getDirection() {
return new Vector(getHandle().dirX, getHandle().dirY, getHandle().dirZ);
}
@Override
public void setDirection(Vector direction) {
Validate.notNull(direction, "Direction can not be null");
getHandle().setDirection(direction.getX(), direction.getY(), direction.getZ());
}
@Override
public EntityFireball getHandle() {
return (EntityFireball) entity;
}
@Override
public String toString() {
return "CraftFireball";
}
@Override
public EntityType getType() {
return EntityType.UNKNOWN;
}
}