# OneConfig's Utilities

OneConfig has many utilities to make your life as a developer easier! From Multi-threading to Profiling, OneConfig really does have it all! All these utilities can be found in `cc.polyfrost.oneconfig.utils`.<br>

### Here is a short summary of all the utilities available in OneConfig: <a href="#all" id="all"></a>

* InputHandler - various utilities to do with mouse input, including click and hover detection, scaling, and blocking areas of the screen from being clicked.
* IOUtils - utilities for copying and pasting strings and BufferedImages, checksums, and getting data from the internet or files
* JsonUtils - utilities for gson parsing of Strings
* LogScanner - features for detecting what class called a method, and blaming other files/mods for stack traces
* Multithreading - utilities for asynchronous running of code in thread pools.
* NetworkUtils - utilitites for getting JSON files, raw strings, and opening the browser of the client.
* SimpleProfiler - a simple class for profiling how long code takes to execute
* StringUtils - a collection of utilities related to sub-sequencing strings in a safe way
* TickDelay - a simple utility for delaying execution of some code by a certain amount of ticks
* ColorUtils - a collection of utilities for getting and setting components of a 32bit int color
* **Commands -** [**see here**](https://docs.polyfrost.org/oneconfig/commands)
* **Notifications -** [**see here**](https://docs.polyfrost.org/oneconfig/utils/oneconfigs-utilities/notifications)
* **HypixelUtils -** [**see here**](https://docs.polyfrost.org/oneconfig/utils/oneconfigs-utilities/hypixelutils)

### Kotlin DSLs <a href="#dsls" id="dsls"></a>

OneConfig also uses Kotlin's meta-programming features to enable these utilities to be used in a more handy way with a much tighter syntax, such as StringUtils and ColorUtils. I'm sure you will be familiar with them if you are a Kotlin enjoyer :)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.polyfrost.org/oneconfig/utils/oneconfigs-utilities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
