public void draw(Graphics2D g2d) {
		double res[] = absPos();
		AffineTransform tr = AffineTransform.getTranslateInstance(res[0],
				res[1]);
		tr.concatenate(AffineTransform.getRotateInstance(Math.toRadians(res[2])));
		
		switch(this.direction){
		case 1:
		g2d.drawImage(ResourceContainer.images.get("/img/systems/engines/basic_left.png"),
				tr, null);
		break;
		case 2:
			g2d.drawImage(ResourceContainer.images.get("/img/systems/engines/basic_right.png"),
					tr, null);
			break;
		case 3:
			g2d.drawImage(ResourceContainer.images.get("/img/systems/engines/basic_up.png"),
					tr, null);
			break;
		case 4:
			g2d.drawImage(ResourceContainer.images.get("/img/systems/engines/basic_down.png"),
					tr, null);
			break;
		}
				
		
		double res2[] = absPos(-32, -24);
		AffineTransform tr2 = AffineTransform.getTranslateInstance(res2[0],
				res2[1]);
		tr2.concatenate(AffineTransform.getRotateInstance(Math.toRadians(res2[2])));
		g2d.transform(tr2);
		try {
			g2d.setColor(new Color(0,0,255));
			
			for(int i = 0; i < 15; i ++) {
				int l = (int) ((int)this.thisWayThrust() - Math.random()*this.thisWayThrust());
				int deviation = (int) ((10 - Math.random()*20)/100*this.thisWayThrust());
				switch(this.direction){
				case 1:
					g2d.drawLine(53 - l, i + deviation, 53, i);
					break;
				case 2:
					g2d.drawLine(140 - l, i - deviation, 140, i);
					break;
				}
				
			}
			g2d.transform(tr2.createInverse());
		} catch (NoninvertibleTransformException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//g2d.drawOval(x, y, width, height);
	}