@Override 
	public void fill(Graphics2D g){
		boolean moveWithPlayer=false;
		if(Display.player.me(0,1).intersects(phys)){
			moveWithPlayer=true;
		}
		velocity*=bouncyness;
		double prev = phys.getY();
		phys=new Rectangle2D.Double(phys.getX(),phys.getY()+velocity,phys.getWidth(),phys.getHeight());
//		if(phys.getY()>target){
//			phys=new Rectangle2D.Double(phys.getX(),phys.getY()-speedback,phys.getWidth(),phys.getHeight());
//		}
//		if(phys.getY()<target){
//			phys=new Rectangle2D.Double(phys.getX(),target,phys.getWidth(),phys.getHeight());
//		}
//		if(phys.getY()==target){
//			target=((phys.getY()-old.getY())*-1)*bouncyness;
//		}
		if(phys.getY()>old.getY()){
		phys=new Rectangle2D.Double(phys.getX(),phys.getY()-speedback,phys.getWidth(),phys.getHeight());
	}
	if(phys.getY()<old.getY()){
		phys=new Rectangle2D.Double(phys.getX(),old.getY(),phys.getWidth(),phys.getHeight());
	}
		if(moveWithPlayer){
		boolean PlayerSafe = !Display.player.hitsObstacle(Display.player.me());
		Display.player.loc.setLocation(Display.player.loc.getX(),Display.player.loc.getY()+(phys.getY()-prev));
		while(PlayerSafe&&Display.player.hitsObstacle(Display.player.me())){
			Display.player.loc.setLocation(Display.player.loc.getX(),Display.player.loc.getY()-1);
		}
		
		}
		super.fill(g);
	}