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; } }