private static bool DrawItem(Rect position, OCBlock block, bool selected, int index) {
			Rect texturePosition = position;
			texturePosition.height = texturePosition.width;
			Rect labelPosition = position;
			labelPosition.yMin += texturePosition.height;
			
			if(selected) BlockEditorUtils.FillRect(labelPosition, new Color( 61/255f, 128/255f, 223/255f ));
			if(block != null) {
				block.DrawPreview(texturePosition);
				GUI.Label(labelPosition, block.GetName());
			} else {
				BlockEditorUtils.FillRect(texturePosition, Color.grey);
				GUI.Label(labelPosition, "Null");
			}
			
			if(Event.current.type == EventType.MouseDown && Event.current.button == 0 && position.Contains(Event.current.mousePosition)) {
				Event.current.Use();
				return true;
			}
			return false;
		}