package org.bukkit.craftbukkit.entity;
import net.minecraft.entity.monster.EntityCreeper;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.EntityType;
import org.bukkit.event.entity.CreeperPowerEvent;
import org.ultramine.mods.bukkit.interfaces.entity.IMixinEntity;
import org.ultramine.mods.bukkit.interfaces.entity.monster.IMixinEntityCreeper;
public class CraftCreeper extends CraftMonster implements Creeper
{
public CraftCreeper(CraftServer server, EntityCreeper entity)
{
super(server, entity);
}
public boolean isPowered()
{
return getHandle().getPowered();
}
public void setPowered(boolean powered)
{
CraftServer server = this.server;
Creeper entity = (Creeper) ((IMixinEntity) getHandle()).getBukkitEntity();
if(powered)
{
CreeperPowerEvent event = new CreeperPowerEvent(entity, CreeperPowerEvent.PowerCause.SET_ON);
server.getPluginManager().callEvent(event);
if(!event.isCancelled())
{
((IMixinEntityCreeper) getHandle()).setPowered(true);
}
}
else
{
CreeperPowerEvent event = new CreeperPowerEvent(entity, CreeperPowerEvent.PowerCause.SET_OFF);
server.getPluginManager().callEvent(event);
if(!event.isCancelled())
{
((IMixinEntityCreeper) getHandle()).setPowered(false);
}
}
}
@Override
public EntityCreeper getHandle()
{
return (EntityCreeper) entity;
}
@Override
public String toString()
{
return "CraftCreeper";
}
public EntityType getType()
{
return EntityType.CREEPER;
}
}