
Also, standardise getHandle and clean up in general. getHandle is now using the 'entity' member variable instead of super.getHandle, as this reduces the number of chained calls needed.
54 lines
1.4 KiB
Java
54 lines
1.4 KiB
Java
package org.bukkit.craftbukkit.entity;
|
|
|
|
import net.minecraft.server.EntityCreeper;
|
|
|
|
import org.bukkit.craftbukkit.CraftServer;
|
|
import org.bukkit.entity.Creeper;
|
|
import org.bukkit.event.entity.CreeperPowerEvent;
|
|
|
|
public class CraftCreeper extends CraftMonster implements Creeper {
|
|
|
|
public CraftCreeper(CraftServer server, EntityCreeper entity) {
|
|
super(server, entity);
|
|
}
|
|
|
|
public boolean isPowered() {
|
|
return getHandle().isPowered();
|
|
}
|
|
|
|
public void setPowered(boolean powered) {
|
|
// CraftBukkit start
|
|
CraftServer server = this.server;
|
|
org.bukkit.entity.Entity entity = 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);
|
|
}
|
|
}
|
|
|
|
// CraftBukkit end
|
|
|
|
}
|
|
|
|
@Override
|
|
public EntityCreeper getHandle() {
|
|
return (EntityCreeper) entity;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "CraftCreeper";
|
|
}
|
|
}
|