protected Vector<Integer> allOkResources()
	{
		if(allResources==null)
		{
			allResources=new Vector<Integer>();
			if(okResources()!=null)
			{
				for(int m=0;m<okResources().length;m++)
				{
					if(!allResources.contains(Integer.valueOf(okResources()[m])))
					   allResources.addElement(Integer.valueOf(okResources()[m]));
				}
			}
			for(final int cd : RawMaterial.CODES.ALL())
			{
				if(okMaterials()!=null)
				{
					for(int m=0;m<okMaterials().length;m++)
					{
						if((cd&RawMaterial.MATERIAL_MASK)==okMaterials()[m])
						{
							if(!allResources.contains(Integer.valueOf(cd)))
							   allResources.addElement(Integer.valueOf(cd));
						}
					}
				}
			}
		}
		return allResources;
	}