# 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 :)
