92 lines
2.3 KiB
Java
92 lines
2.3 KiB
Java
package org.bukkit.craftbukkit.entity;
|
|
|
|
import com.google.common.base.Preconditions;
|
|
import net.minecraft.server.EntityCreeper;
|
|
import org.bukkit.craftbukkit.CraftServer;
|
|
import org.bukkit.entity.Creeper;
|
|
import org.bukkit.entity.EntityType;
|
|
import org.bukkit.event.entity.CreeperPowerEvent;
|
|
|
|
public class CraftCreeper extends CraftMonster implements Creeper {
|
|
|
|
public CraftCreeper(CraftServer server, EntityCreeper entity) {
|
|
super(server, entity);
|
|
}
|
|
|
|
@Override
|
|
public boolean isPowered() {
|
|
return getHandle().isPowered();
|
|
}
|
|
|
|
@Override
|
|
public void setPowered(boolean powered) {
|
|
CraftServer server = this.server;
|
|
Creeper entity = (Creeper) this.getHandle().getBukkitEntity();
|
|
|
|
if (powered) {
|
|
CreeperPowerEvent event = new CreeperPowerEvent(entity, CreeperPowerEvent.PowerCause.SET_ON);
|
|
server.getPluginManager().callEvent(event);
|
|
|
|
if (!event.isCancelled()) {
|
|
getHandle().setPowered(true);
|
|
}
|
|
} else {
|
|
CreeperPowerEvent event = new CreeperPowerEvent(entity, CreeperPowerEvent.PowerCause.SET_OFF);
|
|
server.getPluginManager().callEvent(event);
|
|
|
|
if (!event.isCancelled()) {
|
|
getHandle().setPowered(false);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void setMaxFuseTicks(int ticks) {
|
|
Preconditions.checkArgument(ticks >= 0, "ticks < 0");
|
|
|
|
getHandle().maxFuseTicks = ticks;
|
|
}
|
|
|
|
@Override
|
|
public int getMaxFuseTicks() {
|
|
return getHandle().maxFuseTicks;
|
|
}
|
|
|
|
@Override
|
|
public void setExplosionRadius(int radius) {
|
|
Preconditions.checkArgument(radius >= 0, "radius < 0");
|
|
|
|
getHandle().explosionRadius = radius;
|
|
}
|
|
|
|
@Override
|
|
public int getExplosionRadius() {
|
|
return getHandle().explosionRadius;
|
|
}
|
|
|
|
@Override
|
|
public void explode() {
|
|
getHandle().explode();
|
|
}
|
|
|
|
@Override
|
|
public void ignite() {
|
|
getHandle().ignite();
|
|
}
|
|
|
|
@Override
|
|
public EntityCreeper getHandle() {
|
|
return (EntityCreeper) entity;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "CraftCreeper";
|
|
}
|
|
|
|
@Override
|
|
public EntityType getType() {
|
|
return EntityType.CREEPER;
|
|
}
|
|
}
|