89 lines
2.2 KiB
Java
89 lines
2.2 KiB
Java
package org.bukkit.event.entity;
|
|
|
|
import org.bukkit.entity.Entity;
|
|
import org.bukkit.event.Cancellable;
|
|
|
|
/**
|
|
* Stores data for creepers being (un)powered
|
|
*/
|
|
public class CreeperPowerEvent extends EntityEvent implements Cancellable {
|
|
|
|
private boolean canceled;
|
|
private Entity creeper;
|
|
private PowerCause cause;
|
|
private Entity bolt;
|
|
|
|
public CreeperPowerEvent(Entity creeper, Entity bolt, PowerCause cause) {
|
|
super(Type.CREEPER_POWER, creeper);
|
|
this.creeper = creeper;
|
|
this.bolt = bolt;
|
|
this.cause = cause;
|
|
}
|
|
|
|
public CreeperPowerEvent(Entity creeper, PowerCause cause) {
|
|
super(Type.CREEPER_POWER, creeper);
|
|
this.creeper = creeper;
|
|
this.cause = cause;
|
|
this.bolt = null;
|
|
}
|
|
|
|
/**
|
|
* Gets the cancellation state of this event. A canceled event will not
|
|
* be executed in the server, but will still pass to other plugins
|
|
*
|
|
* @return true if this event is canceled
|
|
*/
|
|
public boolean isCancelled() {
|
|
return canceled;
|
|
}
|
|
|
|
/**
|
|
* Sets the cancellation state of this event. A canceled event will not
|
|
* be executed in the server, but will still pass to other plugins
|
|
*
|
|
* @param cancel true if you wish to cancel this event
|
|
*/
|
|
public void setCancelled(boolean cancel) {
|
|
canceled = cancel;
|
|
}
|
|
|
|
/**
|
|
* Gets the bolt which is striking the creeper.
|
|
*
|
|
* @return lightning entity
|
|
*/
|
|
public Entity getLightning() {
|
|
return bolt;
|
|
}
|
|
|
|
/**
|
|
* Gets the cause of the creeper being (un)powered.
|
|
* @return A PowerCause value detailing the cause of change in power.
|
|
*/
|
|
public PowerCause getCause() {
|
|
return cause;
|
|
}
|
|
|
|
/**
|
|
* An enum to specify the cause of the change in power
|
|
*/
|
|
public enum PowerCause {
|
|
|
|
/**
|
|
* Power change caused by a lightning bolt
|
|
* Powered state: true
|
|
*/
|
|
LIGHTNING,
|
|
/**
|
|
* Power change caused by something else (probably a plugin)
|
|
* Powered state: true
|
|
*/
|
|
SET_ON,
|
|
/**
|
|
* Power change caused by something else (probably a plugin)
|
|
* Powered state: false
|
|
*/
|
|
SET_OFF
|
|
}
|
|
}
|