Knight Lib
A library that serves as a bridge between mods.
Knight Lib
<p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://media.forgecdn.net/attachments/description/1105855/description_a3cb008a-bb7d-46ce-87bc-6e2f913c1e34.png" width="40%"></p>
<p><br><br><span style="font-size: 14px; font-family: verdana;"> This is a shared code library that exposes multiple items without dedicated implementations, thus mods can freely use (or ignore) them for custom features. The library is based on a multiloader template, thus making it fully compatible with loader-specific MDKs and other multiloader templates.</span></p>
<h1><span style="font-size: 14px; font-family: verdana;"> </span> <br><br>What is Knight Lib for? </h1>
<p><span style="font-size: 14px; font-family: verdana;">Knight Lib is designed for use in any project, either as the foundation for your own mod or as a required dependency for any of my mods. Its primary goals are to eliminate code duplication and provide unified, easy-to-use implementations of common utilities, ensuring compatibility across all mod loaders. </span> </p>
<p><span style="font-size: 14px; font-family: verdana;">Within the core components, this library includes:<br></span><br><span style="font-size: 14px; font-family: verdana;">- A <strong>network wrapper</strong> abstraction which allows the developer to process, send and receive S2C and C2S packets in a simple way.<br>- A <strong>custom tick scheduler</strong> without data persistance. <br>- An <strong>Auto Config</strong> system available for Fabric and (Neo)Forge, with hotreload support (for Forge it's compatible with mods that add gui config, such as 'Configured'). The config is instantly read upon executing the mod that implements it, thus supporting configurability that was not possible before. It also contains multiple styles to decorate the TOML file. <br>- A <strong>custom boss bar builder</strong> to dynamically create and manage either simple or complex boss bars for registered bosses. <br>- A highly customizable <strong>camera shake manager</strong> for player cameras, designed for effortless usage. <br>- A <strong>music provider</strong> for <strong>entities</strong>, primarily meant for "Boss" entities. Easy-to-use utility, loops a music instance under certain conditionals. </span> <span style="font-size: 14px; font-family: verdana;"> <br>- A <strong>custom registrar system</strong> that handles the registration process in an easier way when using multiloader templates.</span></p>
<p><span style="font-size: 14px; font-family: verdana;"><br>More functionalities will be added over time, so any suggestion is welcome. </span> <br><a href="https://discord.gg/mb2XhhNNwS" rel="nofollow"><br><img src="https://media.forgecdn.net/attachments/description/1018043/description_a255b953-62ec-43d7-b4b3-8a1a94b36bac.png" alt="Discord" width="200"></a> <a href="https://www.curseforge.com/minecraft/mc-mods/geckolib" target="_blank" rel="nofollow noopener"><img style="width: 160px;" src="https://media.forgecdn.net/attachments/description/1018043/description_1b32b3dd-8aa3-4fa4-b6f4-d7c186884e91.png" alt="Geckolib"></a> <br><br><span style="font-size: 14px; font-family: verdana;"> To report bugs or suggest features, join our <a href="https://discord.gg/mb2XhhNNwS" rel="nofollow">Discord server</a>!</span></p>
<h1><span style="font-size: 14px; font-family: verdana;"> </span> <br>Developer Information</h1>
<p> <span style="font-size: 14px; font-family: verdana;">If you’re a developer and want to integrate this library into your development environment, see the installation instructions on the <a href="https://github.com/Xylonity/Knight-Lib/wiki" rel="nofollow">project wiki on GitHub</a>. </span> <br><br></p>