package pneumaticCraft.api.universalSensor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.event.entity.player.PlayerEvent;
import cpw.mods.fml.common.eventhandler.Event;
public abstract class PlayerEventSensor implements IEventSensorSetting{
@Override
public String getSensorPath(){
return "entityTracker/Player";
}
@Override
public int emitRedstoneOnEvent(Event event, TileEntity sensor, int range, String textboxText){
if(event instanceof PlayerEvent) {
EntityPlayer player = ((PlayerEvent)event).entityPlayer;
if(Math.abs(player.posX - sensor.xCoord + 0.5D) < range + 0.5D && Math.abs(player.posY - sensor.yCoord + 0.5D) < range + 0.5D && Math.abs(player.posZ - sensor.zCoord + 0.5D) < range + 0.5D) {
return emitRedstoneOnEvent((PlayerEvent)event, sensor, range);
}
}
return 0;
}
public abstract int emitRedstoneOnEvent(PlayerEvent event, TileEntity sensor, int range);
@Override
public int getRedstonePulseLength(){
return 5;
}
}