package frogcraftrebirth.api.event;

import frogcraftrebirth.api.tile.IPersonal;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.Event.HasResult;

@Cancelable
@HasResult
public class AccessControlEvent extends Event {

	public final IPersonal tile;
	public final EntityPlayer player;

	public AccessControlEvent(IPersonal tile, EntityPlayer player) {
		this.tile = tile;
		this.player = player;
	}
	
	@HasResult
	public static class Activate extends AccessControlEvent {
		public Activate(IPersonal tile, EntityPlayer player) {
			super(tile, player);
		}	
	}

	@HasResult
	public static class Deactivate extends AccessControlEvent {
		public Deactivate(IPersonal tile, EntityPlayer player) {
			super(tile, player);
		}
	}

}

@@ -309,16 +309,156 @@
 Result;%0A
+/**%0A * %3Cb%3EDeprecated.%3C/b%3E This event is actually a design flaw. %0A * It has to replaced with a callback-style system instead.%0A */%0A@Deprecated
 %0A@Cancel

I AM MAD