2015-11-02 12:39:44 -08:00
|
|
|
package WayofTime.bloodmagic.api.event;
|
2015-10-31 17:58:47 -07:00
|
|
|
|
2015-11-02 12:39:44 -08:00
|
|
|
import WayofTime.bloodmagic.api.ritual.IMasterRitualStone;
|
|
|
|
import WayofTime.bloodmagic.api.ritual.Ritual;
|
|
|
|
import WayofTime.bloodmagic.api.ritual.imperfect.IImperfectRitualStone;
|
|
|
|
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
2015-10-31 17:58:47 -07:00
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraftforge.fml.common.eventhandler.Cancelable;
|
|
|
|
import net.minecraftforge.fml.common.eventhandler.Event;
|
|
|
|
|
|
|
|
public class RitualEvent extends Event {
|
|
|
|
|
|
|
|
public final IMasterRitualStone mrs;
|
|
|
|
public final String ownerName;
|
|
|
|
public final Ritual ritual;
|
|
|
|
|
|
|
|
private RitualEvent(IMasterRitualStone mrs, String ownerName, Ritual ritual) {
|
|
|
|
this.mrs = mrs;
|
|
|
|
this.ownerName = ownerName;
|
|
|
|
this.ritual = ritual;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This event is called when a ritual is activated. If cancelled, it will not activate.
|
|
|
|
*
|
2015-11-02 12:39:44 -08:00
|
|
|
* {@link WayofTime.bloodmagic.api.util.helper.RitualHelper#activate(IMasterRitualStone, Ritual, EntityPlayer)}
|
2015-10-31 17:58:47 -07:00
|
|
|
*/
|
|
|
|
@Cancelable
|
|
|
|
public static class RitualActivatedEvent extends RitualEvent {
|
|
|
|
public final EntityPlayer player;
|
|
|
|
public final ItemStack crystalStack;
|
|
|
|
public int crystalTier;
|
|
|
|
|
|
|
|
public RitualActivatedEvent(IMasterRitualStone mrs, String owner, Ritual ritual, EntityPlayer player, ItemStack activationCrystal, int crystalTier) {
|
|
|
|
super(mrs, owner, ritual);
|
|
|
|
|
|
|
|
this.player = player;
|
|
|
|
this.crystalStack = activationCrystal;
|
|
|
|
this.crystalTier = crystalTier;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This event is called when a Ritual effect is performed. If cancelled, the effect will not happen.
|
|
|
|
*
|
2015-11-02 12:39:44 -08:00
|
|
|
* {@link WayofTime.bloodmagic.api.util.helper.RitualHelper#perform(IMasterRitualStone, Ritual)}
|
2015-10-31 17:58:47 -07:00
|
|
|
*/
|
|
|
|
@Cancelable
|
|
|
|
public static class RitualRunEvent extends RitualEvent {
|
|
|
|
|
|
|
|
public RitualRunEvent(IMasterRitualStone mrs, String owner, Ritual ritual) {
|
|
|
|
super(mrs, owner, ritual);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This event is called when a Ritual is stopped by a {@link Ritual.BreakType}.
|
|
|
|
*
|
2015-11-02 12:39:44 -08:00
|
|
|
* {@link WayofTime.bloodmagic.api.util.helper.RitualHelper#stop(IMasterRitualStone, Ritual, Ritual.BreakType)}
|
2015-10-31 17:58:47 -07:00
|
|
|
*/
|
|
|
|
public static class RitualStopEvent extends RitualEvent {
|
|
|
|
|
|
|
|
public final Ritual.BreakType method;
|
|
|
|
|
|
|
|
public RitualStopEvent(IMasterRitualStone mrs, String owner, Ritual ritual, Ritual.BreakType method) {
|
|
|
|
super(mrs, owner, ritual);
|
|
|
|
|
|
|
|
this.method = method;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Cancelable
|
|
|
|
public static class ImperfectRitualActivatedEvent extends Event {
|
|
|
|
|
|
|
|
public final IImperfectRitualStone ims;
|
|
|
|
public final String ownerName;
|
|
|
|
public final ImperfectRitual imperfectRitual;
|
|
|
|
|
|
|
|
public ImperfectRitualActivatedEvent(IImperfectRitualStone ims, String ownerName, ImperfectRitual imperfectRitual) {
|
|
|
|
this.ims = ims;
|
|
|
|
this.ownerName = ownerName;
|
|
|
|
this.imperfectRitual = imperfectRitual;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|